我有两列需要运行一些条件,以便将样本分类为状态。我创建了一个空的状态列。然后运行这两列的几个条件(pp&ff(,尝试在新列中插入相应的值。
当我运行这个时,我没有得到任何错误,但只有第一行有效:
df$status[which(df$ff >7 & df$pp >9)] <- "type_a"
type_a值正确地放置在状态列中,但所有其他行保持为NA。我在两列的几行中稀疏地有两三个奇数NA值,但就是这样。我不认为这会阻止它工作吗?
这就是我目前正在使用的:
#Adding a column called status
df$status <- NA
df$status[which(df$ff >7 & df$pp >9)] <- "type_a"
df$status[which(df$ff <4 & df$pp <4)] <- "type_b"
df$status[which(df$ff <=4 & df$ff >=7 & df$pp >=8.5 & df$pp <=9)] <- "type_c"
您的type_c中有一个逻辑错误,这永远不会是真的:
df$ff <=4 & df$ff >=7
一个数字不能同时小于4和大于7。
你可能想捕捉包容性范围[4,7],你可能自己就能做到。