我正在尝试为我的实验ID分配治疗标签。这对我这么做有帮助,但现在我不确定为什么我的代码不起作用。 id是数字(作为因子输入(colname是plotF)),处理是A,B和C.数据帧非常大,这是一个例子。
data$trt[data$plotF == c(12, 21, 35, 43)] <- "A"
data$trt[data$plotF == c(15, 23, 32, 41)] <- "B"
data$trt[data$plotF == c(13, 24, 31, 46)] <- "C"
输出结果为:
plotF trt
21 <NA>
24 C
46 <NA>
12 <NA>
23 <NA>
31 <NA>
13 <NA>
43 A
32 <NA>
15 <NA>
35 A
41 B
24 <NA>
46 <NA>
32 B
31 <NA>
13 C
21 A
12 <NA>
43 A
23 <NA>
15 <NA>
41 <NA>
35 <NA>
为什么有时会工作但不总是?
答案 0 :(得分:2)
如果您将==
替换为%in%
,请执行以下操作?
data$trt[data$plotF %in% c(12, 21, 35, 43)] <- "A"
data$trt[data$plotF %in% c(15, 23, 32, 41)] <- "B"
data$trt[data$plotF %in% c(13, 24, 31, 46)] <- "C"