use*_*718 0 r conditional-statements
我的df1如下:
df1 <- data.frame(A=c("a","b","c","d","e"), B=c("f","g","t","g","u"), C=c("M","NA","NA","NA","M"), D=c("A","NA","NA","NA","NA"), E=c("NA","NA","NA","NA","G"), G=c(1:5))
A B C D E G
1 a f M A NA 1
2 b g NA NA NA 2
3 c t NA NA NA 3
4 d g NA NA NA 4
5 e u M NA G 5
Run Code Online (Sandbox Code Playgroud)
我想根据C,D和E列中的读数添加列.如果所有都是NA,我想将X添加到H列.如果其中任何一个都不是NA,我想在列H中添加YES.结果如下:
A B C D E G H
1 a f M A NA 1 YES
2 b g NA NA NA 2 X
3 c t NA NA NA 3 X
4 d g NA NA NA 4 X
5 e u M NA G 5 YES
Run Code Online (Sandbox Code Playgroud)
专家能教我如何用R有效地做到吗?
transform(df1, H = ifelse(is.na(C) & is.na(D) & is.na(E), "X", "YES"))
Run Code Online (Sandbox Code Playgroud)
请注意,这仅在NAs实际编码为NA而不是字符串时才有效"NA".
请参阅?transform和?ifelse了解这些功能的说明.单个&运算符逐项配对向量操作数,并对每对执行布尔运算,返回逻辑向量.
| 归档时间: |
|
| 查看次数: |
1792 次 |
| 最近记录: |