我使用的資料集將特定于國家的資訊存盤在不同的變數中,我想將其合并為一個變數。感覺這應該是一個如此簡單的練習,但我無法弄清楚,我在這里找不到任何答案。
假設資料如下所示:
df <- data.frame(country = c("BE", "BE", "BE", "NL", "NL", "NL"),
year = c(2010, 2010, 2010, 2010, 2010, 2010),
party_NL = c(NA, NA, NA, "A", "B", "B"),
party_BE = c("C", "D", "E", NA, NA, NA))
country year party_NL party_BE
1 BE 2010 <NA> C
2 BE 2010 <NA> D
3 BE 2010 <NA> E
4 NL 2010 A <NA>
5 NL 2010 B <NA>
6 NL 2010 B <NA>
我需要的是以下內容:
country year party_NL party_BE party
1 BE 2010 <NA> C C
2 BE 2010 <NA> D D
3 BE 2010 <NA> E E
4 NL 2010 A <NA> A
5 NL 2010 B <NA> B
6 NL 2010 B <NA> B
猜測必須應用一些回圈。再一次,這聽起來很容易,我提前道歉。
謝謝
uj5u.com熱心網友回復:
您可以coalesce在 dplyr 中使用:
df %>%
mutate(party = coalesce(party_NL, party_BE))
輸出:
country year party_NL party_BE party
1 BE 2010 <NA> C C
2 BE 2010 <NA> D D
3 BE 2010 <NA> E E
4 NL 2010 A <NA> A
5 NL 2010 B <NA> B
6 NL 2010 B <NA> B
uj5u.com熱心網友回復:
使用mutatefrom dplyr,這可以解決問題:
require(dplyr)
df %>%
mutate(party = ifelse(is.na(party_NL), party_BE, party_NL))
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/388797.html
下一篇:生成不同資料的復式表
