我問我在這裏學到從@redmode方法的副作用問題,不同的數據幀的調整值子集化時:錯誤基於R中
Subsetting based on values of a different data frame in R
當我嘗試動態調整水平我想子組:
N <- nrow(A)
cond <- sapply(3:N, function(i) sum(A[i,] > 0.95*B[i,])==2)
rbind(A[1:2,], subset(A[3:N,], cond))
我得到一個錯誤
Error in FUN(left, right) : non-numeric argument to binary operator.
你能想出一種方法,我可以得到與A中的值相關的行大於B中95%的值嗎?謝謝。
這裏是A和B一起玩的代碼。
A <- structure(list(name1 = c("trt", "0", "1", "10", "1", "1", "10"
), name2 = c("ctrl", "3", "1", "1", "1", "1", "10")), .Names = c("name1",
"name2"), row.names = c("cond", "hour", "A", "B", "C", "D", "E"
), class = "data.frame")
B <- structure(list(name1 = c("trt", "0", "1", "1", "1", "1", "9.4"),
name2 = c("ctrl", "3", "1", "10", "1", "1", "9.4")), .Names = c("name1",
"name2"), row.names = c("cond", "hour", "A", "B", "C", "D", "E"
), class = "data.frame")
你能提供A,B的小例子以及你的結果應該是什麼。看起來可能A和B是單列數據框架?你想保持行1和2在A中的所有行的大於B的對應行的95%嗎? – N8TRO 2013-02-28 23:10:48
您的數據是全部字符。 'class(B [1,2])''#[1]「character」'你的行缺點和小時應該是列名的一部分。 – N8TRO 2013-02-28 23:40:34