我有一个表格,大约有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
每列中的值都基于“Type”列中的值。如果“Type”列中的值为16、17、21或22,则“SCHEach”列中的值应为1。对于“Type”列中的任何其他值,“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'
?match
,了解%in%
的相关信息。 - zx8754schtable <- schtable %>% mutate(SCHEac = if_else(Type %in% c(16,17,21,22), 1, 0))
代码。 - zx8754ifelse
,可以使用schtable %>% mutate(SCHEac = as.integer(Type %in% c(16, 17, 21, 22)))
。 - akrun