我有一个约3000行的表格,其数据格式为:

Number  Type
10001   0
10005   7
10006   0
10007   14
10012   16
10022   14
10023   0
10024   0
10029   7
10035   17
10045   14

我想添加第三列,以便表看起来像:
Number  Type   SCHEach
10001   0         0
10005   7         0
10006   0         0
10007   14        0
10012   16        1
10022   14        0
10023   0         0
10024   0         0
10029   7         0
10035   17        1
10045   14        0

SCHEach列中的值基于Type列中的值。如果“类型”列中的值为16、17、21或22,则SCHeach列中的值应为1。对于“类型”列中的任何其他值,SCHEach值应为0。

现在我正在使用以下
library(dplyr)
schtable$SCHEach = ifelse(
schtable$Type == 16 |
schtable$Type == 17 |
schtable$Type == 21 |
schtable$Type == 22, 1, 0)

我是R的新手,想知道是否有一种方法可以不必在16,17,21和22处分别键入以下内容?
schtable$Type == 'number'

最佳答案

> mydf$SCHEach <- ifelse(mydf$Type %in% c(16,17,21,22),1,0)
> mydf
   Number Type SCHEach
1   10001    0       0
2   10005    7       0
3   10006    0       0
4   10007   14       0
5   10012   16       1
6   10022   14       0
7   10023    0       0
8   10024    0       0
9   10029    7       0
10  10035   17       1
11  10045   14       0

关于r - 对列中的多个值使用ifelse语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40330343/

10-12 17:24