我从.csv文件导入数据,并附加了数据集.
我的问题:一个变量是整数形式,有295个级别.我需要使用这个变量来创建其他变量,但我不知道如何处理这些变量.
这些是什么,我该如何处理它们?
当您使用read.table(或read.csv? - 未指定)读入数据时,请添加参数stringsAsFactors = FALSE.然后你将得到角色数据.
如果您期望该列的整数,那么您必须具有不可解释为整数的数据,因此在您阅读之后转换为数字.
txt <- c("x,y,z", "1,2,3", "a,b,c")
d <- read.csv(textConnection(txt))
sapply(d, class)
x y z
##"factor" "factor" "factor"
## we don't want factors, but characters
d <- read.csv(textConnection(txt), stringsAsFactors = FALSE)
sapply(d, class)
# x y z
#"character" "character" "character"
## convert x to numeric, and wear NAs for non numeric data
as.numeric(d$x)
#[1] 1 NA
#Warning message:
#NAs introduced by coercion
Run Code Online (Sandbox Code Playgroud)
最后,如果你想忽略这些输入细节并从因子中提取整数级别,例如as.numeric(levels(d $ x))[d $ x],按照因子中的"Warning".
进行摘要(数据)以检查是否正确读取内容。如果列不是应该是数字的,请查看 read.csv 的 colClasses 参数来强制它,这也可能会导致格式不良的数字产生 NA 值。
help(read.csv) 会有所帮助。