我在R中有一个数据框(data.frame(test)),其中包含以下信息。
if (test$column1 == 3 || test$column1 == 2 || test$column1 == 1) {
test$Newcolumn = test$column1
} else {
test$NewColumn = test$column2
}
我正在尝试根据第1列的条件语句创建一个由第2列和第3列中的数据填充的新列。
我似乎无法弄清楚如何编写适当的条件。
Columns1 | Column2 | Column3 | NewColumn
1 | 11 | 33 | 11
3 | 34 | 56 | 33
4 | 24 | 23 | 23
5 | 74 | 64 | 64
3 | 45 | 52 | 45
2 | 54 | 53 | 54
1 | 76 | 92 | 76
最终结果应如下所示:
domain.com/search?user_search_terms
答案 0 :(得分:2)
使用dplyr
,假设mydf
是您的数据框:
mydf %>% mutate(newColumn = ifelse(column1 %in% 1:3, column2, column3)) -> res
我认为您的问题中存在拼写错误,如果符合条件,您打算将column2
值分配给newColumn
。
答案 1 :(得分:0)
解决方案“像ifelse这样简单的ifelse(在%c(1,2,3)中测试$ column1%,测试$ column2,测试$ column3)” - 由joel.wilson工作。