将 csv 文件导入 R - 作为字符读取的因素



New to 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"

正如它所显示的,"性别"和"烟雾"列在应该是因素时读作字符。

如何解决这个问题?

奇怪的是,没有任何额外参数的简单read.csv()不会自动读取您的字符作为因素。

使用file <- read.csv("~/file.csv")导入文件后,您可以尝试

i <- sapply(file, is.character)
file[i] <- lapply(file[i], as.factor)

将所有字符列转换为因子

使用可以将字符更改为因子

LungCapDataCSVnew$Smoke<-as.factor(LungCapDataCSVnew$Smoke)
LungCapDataCSVnew$Gender<-as.factor(LungCapDataCSVnew$Gender)

R 的新手。建议网站 - http://cran.r-project.org/manuals.html

谢谢

正如我刚刚发现的:读取.csv似乎可以检测到因素和水平read_csv没有,它只是将列标题分配为字符。

相关内容

  • 没有找到相关文章

最新更新