r 中的循环或函数以创建新数据帧的列



我有一个数据框架,其中列a和B包含从1到10的数值。

A B
1   5 9
2   7 2
3   2 1
4   1 9

我已经添加到数据框一个新的列OCCU,在每一行的值如果以下两个条件之一成立:3<9或3><9否则,要分配的值为LOPD。例如,在上面的例子中,个体1和个体2的OCCU>

试试这个:

library(dplyr)
df1 %>% 
mutate(OCCU = ifelse(between(A, 3, 8) | between(B, 3, 8), "HOPD", "LOPD"))

between函数以待比较值作为第一个参数,下限作为第二个参数,上限作为第三个参数。因为它考虑了<=,我通过了8而不是9

让我来帮你:

dataset <- data.frame(A = c(5,7,2,1),
B = c(9,2,1,9))
dataset$OCCU <- ifelse(dataset$A < 9 & dataset$A > 3 | 
dataset$B < 9 & dataset$B > 3, 
"HOPD", "LOPD")

这是数据集的内容:

A B OCCU
1 5 9 HOPD
2 7 2 HOPD
3 2 1 LOPD
4 1 9 LOPD

最新更新