例如,当使用fread读取csv时:
library(data.table)
outcome4<-fread("outcome-of-care-measures.csv")然后,如果第11列(‘医院30天心脏病发作死亡(死亡率)’)不是'Not Available'的话,我想对其进行分类观察。所以我写了如下:
outcome5<-subset(outcome4, outcome4[,11]!="Not Available")但subset函数似乎不起作用,结果5的观察结果与outcome4相同,第11列的所有观测结果均为11。
为什么?如果我使用read.csv函数,一切都很好。
提前感谢!
发布于 2016-05-14 03:36:13
看看outcome4[,11]的结果。
正如您所写的,fread()返回一个数据表。反过来,outcome4[,11]返回11。11永远都不等于"Not Available",所以你可以把整个表拿回来。您希望对数据表的第11列使用outcome4[, 11, with = FALSE],或者在fread()中使用data.table = FALSE返回数据帧而不是数据表。
但是这样做的数据表方式是:
outcome4[<column name 11> != "Not Available"]其中<column name 11>是第11列的未引用名称。
或者,将"Not Available"更改为NA
outcome4 <- fread(file, na.strings = "Not Available")
outcome4[!is.na(<column name 11>)]https://stackoverflow.com/questions/37222145
复制相似问题