我想知道如何將多個列與單列中的值進行比較,然後使用這些匹配來創建差異表。我有一個政策結果的政治數據集,以及某些組織是否支持或反對這些結果。這裏有一些模擬數據:R - 比較多個列並創建指示匹配的新列
結果0意味着法律從未發生,結果1意味着它發生了。 對於組織而言,負數表示他們反對他們支持它的法律和積極的手段:
set.seed(123)
Data <- data.frame(
year = sample(1998:2004, 200, replace = TRUE),
outcome = sample(0:1, 200, replace = TRUE),
union = sample(-1:1, 200, replace = TRUE),
chamber = sample(-1:1, 200, replace = TRUE),
pharma = sample(-1:1, 200, replace = TRUE),
gun = sample(-1:1, 200, replace = TRUE),
dem = sample(-1:1, 200, replace = TRUE),
repub = sample(-1:1, 200, replace = TRUE)
)
我想知道一個組織多少次匹配每年支持或工會的反對。
我想象它的將是一些像這樣的表,其中匹配等於1,否則爲-1(也有數據許多結果:NAS組織採取任何位置):
DATA$contra <- ifelse(DATA$union == page.bin$chamber, 1, -1)
在DataSet ,大約有50個組織連續列。創建50個新的列,每個匹配一個似乎很難。即使這是最好的方法,我也不知道如何應用這個函數來創建50個新列。
最後,我想創建一個熱圖或一種方式來可視化哪些組織匹配union列。但是,首先,我想我需要某種數據表。
感謝您的幫助!
根據實際的數據是什麼樣子,你可以先重塑DF爲長格式,例如,你有一個變量「組織」,那麼你可以總結數據,按年份和組織分組,並使用例如如果別的。 – beetroot
建議您將問題編輯爲a)使用set.seed()使其具有可重現性,並且b)使您的示例名稱保持一致。 –