我读this SO question和that one,但仍然无法解决我的问题。我有以下data.table,其中只包括我的data.table的总列和行的几个。R:wilcoxon测试错误:分组因子必须有2个水平
library(data.table)
structure(list(Patient = c("MB108", "MB108", "MB108", "MB108",
"MB108", "MB108", "MB108", "MB108", "MB108", "MB108"), Visit = c(1,
1, 1, 1, 9, 9, 9, 9, 12, 12), Stimulation = c("NC", "SEB", "PPD",
"E6C10", "NC", "SEB", "PPD", "E6C10", "NC", "SEB"), `CD38 ` = c(83.3,
63.4, 83.2, 91.5, 90.9, 70.9, 71, 88.4, 41.7, 47.9)), .Names = c("Patient",
"Visit", "Stimulation", "CD38 "), class = c("data.table", "data.frame"
), row.names = c(NA, -10L), .internal.selfref = <pointer: 0x102806578>)
我想这样做在列4 t.test访问时为1,且当访问是9. 我检查对于NAS以及两列的长度。
感谢您的帮助!
#na.omit(boolean_dt3)
#print(length(unlist(boolean_dt3[Visit== 1,4, with = FALSE])))
#print(length(unlist(boolean_dt3[Visit== 9,4, with = FALSE])))
wilcox.test(unlist(boolean_dt3[Visit== 1,4, with = FALSE])~ unlist(boolean_dt3[Visit== 9,4, with = FALSE]) , paired = T, correct=FALSE)
我不想使用的列名,因为我通常不知道它。我也在运行多列测试,并将使用一个循环来运行所有测试。 – Rivka
听起来像你会很难在所有列上自动运行它。每列只能有2个因子,每列不适合测试。 – CPak
为什么不呢?他们都是数字列。我想在访问== 1并访问== 9的人身上运行测试,并在我看到的2 – Rivka