簡體   English   中英

根據條件語句從其他列填充R中的新列

[英]Populate new column in R from other columns based on conditional statement

我在R中有一個數據框(data.frame(test)),其中包含以下信息。

Columns1 | Column2 | Column3
1 | 11 | 33
3 | 34 | 56 
4 | 24 | 23
5 | 74 | 64 
3 | 45 | 52
2 | 54 | 53
1 | 76 | 92

我正在嘗試創建一個新列,該列由第2列和第3列中的數據填充,基於第1列的條件語句。

我似乎無法弄清楚如何編寫適當的條件。

if (test$column1 == 3 || test$column1 == 2 || test$column1 == 1) {
test$Newcolumn = test$column1
} else {
  test$NewColumn = test$column2
}

最終結果應如下所示:

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

使用dplyr ,假設mydf是您的數據幀:

mydf %>% mutate(newColumn = ifelse(column1 %in% 1:3, column2, column3)) -> res

我假設您的問題中存在拼寫錯誤,並且您打算在滿足條件的情況下將column2值分配給newColumn

解決方案“像ifelse這樣簡單的ifelse(在%c(1,2,3)中測試$ column1%,測試$ column2,測試$ column3)” - 由joel.wilson工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM