很新的R,我想某些子选择列以确定其NA的0设置多列NA的重视--R
到目前为止我有:
col_names1 <- c('a','b','c')
col_names2 <- c('e','f','g')
col_names <- c(col_names1, col_names2)
data = fread('data.tsv', sep="\t", header= FALSE,na.strings="NA",
stringsAsFactors=TRUE,
colClasses=my_col_Classes
)
setnames(data, col_names)
data[col_names2][is.na(data[col_names2])] <- 0
但我一直得到错误
错误在`[.data.table`(`* tmp *`,column_names2):当我是一个data.table(或字符向量)时,x必须被键入(即排序,并标记为排序),所以data.table知道哪些列加入并利用o f x被排序。先拨打setkey(x,...),看到?setkey。
我相信这个错误是说我有错误的顺序,但我不知道我是怎么做的?
只是一个简短的提示,但'fread'返回一个数据表。既然你是R的新手,我可以想象你实际上想要一个数据框。如果是这样,在'fread'内指定'data.table = FALSE'。另外,请记住,缺失的值与0不一样...并且根据你在做什么,这可能会导致偏见。 – Laterow