为什么数据帧上的行选择不起作用?

时间:2015-03-26 15:21:42

标签: r

我在选择var<的数据帧行时遇到了麻烦。中值

数据框如下所示:

str(filteredData[,c(sick, healthy)])
'data.frame':   24840 obs. of  163 variables:
 $ GSM1317914: Factor w/ 24756 levels "10.0012","10.0026",..: 5903 13208 20201 20237 19969 9020 22841 10615 8842 20664 ...
 $ GSM1317915: Factor w/ 24801 levels "10.0012","10.0026",..: 1631 14999 20421 6724 24079 1668 20462 10583 16286 17634 ...
 $ GSM1317916: Factor w/ 24784 levels "10.0012","10.0026",..: 5084 4432 20374 17185 23541 7658 21274 2267 15241 19556 ...

我使用这段代码来选择行:

rowSelection2 <- which(var(filteredData[,c(sick, healthy)], na.rm = TRUE) < median(filteredData[,c(sick, healthy)], na.rm = TRUE), arr.ind=TRUE)[,1]

并且它给出了这个错误:

Error in median.default(filteredData[, c(sick, healthy)], na.rm = TRUE) : 
  need numeric data

我用它来检查数据中是否有NA:

> row.has.na <- apply(filteredData[,c(sick, healthy)], 1, function(x){any(is.na(x))})
> sum(row.has.na)
[1] 0

我该如何解决这个问题?

此致

更新

一个例子

> filteredData
 GSM1317972 GSM1317973 GSM1317974 GSM1317975
1    7.15286     7.1327    7.33368    7.06714
3    7.14252    7.10165    7.10693    7.02591
4     7.9208      8.331    8.06961    8.24292
8    7.17856    7.54563    7.31661    7.74658
9    9.78263    8.78217    9.53513     9.6441

> sick
[1] "GSM1317972" "GSM1317973"

> healthy
[1] "GSM1317974" "GSM1317975"

我只想选择ROW值的方差小于ROW值中值的ROWS。真的很感谢你的帮助我不是很多使用R ..

0 个答案:

没有答案