不幸的是,我的数据状况不佳。因此,我必须做很多调整,但我还做不到。我的test.data
看起来像这样:
a <- c("Arthur", "Markus", "Kommission fuer Wirtschaft und Abgaben", "Meyer", "Hans", "Delegation XY")
b <- c(1,2,3,4,5,6)
testdata <- data.frame(a,b)
我想要一个新列c
,其中只有b
包含单词&#34; Kommission&#34;才会包含a
的值。或&#34;代表团&#34;。
我在第一步尝试了这个:
testdata$c <- ifelse((grepl('Kommission',testdata$a)==TRUE), testdata$b,NA)
这很有效。我的问题是我需要b
的值为&#34;代表团&#34;太。
随着
testdata$c <- ifelse((grepl('Delegation',testdata$a)==TRUE), testdata$b,NA)
我只覆盖上一个命令。最后testdata
应如下所示:
a b c
Arthur 1 NA
Markus 2 NA
Kommission fuer Wirtschaft und Abgaben 3 3
Meyer 4 NA
Hans 5 NA
Delegation XY 6 6
我可以连接几个&#34;或 - 语句&#34;在ifelse
?谢谢你的帮助。
答案 0 :(得分:1)
如评论中所述,答案包含|
。
testdata$c <- ifelse((grepl('Kommission',testdata$a)==TRUE) | grepl('Delegation',testdata$a)==TRUE, testdata$b,NA)
答案 1 :(得分:0)
您可以使用
testdata$c <- ifelse(testdata$a %in% c("Kommission","Delegation"),testdata$b,NA)