R的新功能。导入csv文件时,实际上 - 或应该是 - 因素时,列被读取为字符。所讨论的所有三列只有两个级别(是/否和男/女)。
我的尝试: 在“导入文本数据”对话框中,我通过插入逗号分隔的因子列表将列更改为因子。
> LungCapDataCSVnew <- read_csv("~/file.csv",
col_types = cols(Caesarean = col_factor(levels = c("no",
"yes")), Gender = col_factor(levels = c("male",
"female")), Smoke = col_factor(levels = c("no",
"yes"))))
> View(file)
> class(Gender)
[1] "character"
> class(Smoke)
[1] "character"
如图所示,&#39;性别&#39;和&#39; Smoke&#39;当列应该是因素时,列读作字符。
如何解决这个问题?
答案 0 :(得分:1)
奇怪的是,简单地read.csv()
没有任何额外的参数并不能自动将你的角色作为因素阅读。
使用file <- read.csv("~/file.csv")
导入文件后,您可以尝试
i <- sapply(file, is.character)
file[i] <- lapply(file[i], as.factor)
将所有字符列转换为因子
答案 1 :(得分:0)
使用可以将字符更改为因子
LungCapDataCSVnew$Smoke<-as.factor(LungCapDataCSVnew$Smoke)
LungCapDataCSVnew$Gender<-as.factor(LungCapDataCSVnew$Gender)
R的新手。 建议网站 - http://cran.r-project.org/manuals.html
由于
答案 2 :(得分:-2)
正如我刚刚发现的那样: read.csv似乎检测因素和水平 read_csv没有,它只是将列标题指定为一个字符。