2014-03-27 70 views
0

我與GTD數據庫 - 工作可以在(http://www.start.umd.edu/gtd/contact/合併數據幀/是否有更簡單的方法來編寫此代碼?

下載我只有對美國數據的一個子集,而我所要做的就是添加上,如果在政黨信息權力是共和黨人或民主黨人。這些年我使用來自http://candychang.com/?p=4346

我的R非常基本的知識,使得我這個,

gtd<- read.csv("gtd.csv") 
US <- subset(x=gtd, country_txt== "United States") 
Republican <- subset(x=US, iyear %in% c(1971:1976, 1981:1992, 2001:2008)) 
Democrat <- subset(x=US, iyear %in% c(1977:1980, 1993:2000, 2009:2011)) 
install.packages("plyr") 
require(plyr) 
republicanattacks <- ddply(Republican, .(iyear), "nrow") 
democratattacks<- ddply(Democrat, .(iyear), "nrow") 
transform(republicanattacks, new="Republican") 
transform(democratattacks, new="Democrat") 
rbind(republicanattacks,democratattacks) #does not work- Error in match.names(clabs, names(xi)) : 

名稱不匹配以前的名字

我想基本上只是堅持這些數據幀所以我可以製作一張圖表,但我一直無法做到這一點。最終,我的目標是以圖形方式顯示共和黨/民主黨人的攻擊次數,以顯示比較結果,我不想在單獨的圖表上做到這一點 - 我相信有一種簡單的方法可以合併這些,但我的方式嘗試過沒有工作。我還想知道是否有一種更簡單的方法可以像使用For循環或其他東西一樣從US子集開始執行此操作,但我對for循環很不熟悉。但基本上,我只需要知道如何合併這些..

+0

你應該使用dplyr包相反,它會快很多。合併會更有用而不是'rbind'嗎? – JeremyS

+0

不確定數據結構,但可以添加用於區分數據點顏色的分類變量(因子)。你最初可以將它設置爲「共和黨」,然後在你擁有「子集」的地方使用「which」來爲這些年份分配「民主黨」。 – beroe

+0

如果你發佈一個人們可以玩的微小的,易於複製粘貼的玩具數據集,你就更有可能收到有用的答案。現在,我認爲很多人都不願意在網頁上註冊,以便能夠訪問您的數據。還張貼您想要的輸出。請檢查這些鏈接的一般想法,以及如何在R:[** here **](http://stackoverflow.com/help/mcve),[** here **](http:// www .sscce.org /)和[** here **](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610#5963610)。 – Henrik

回答

0

嘗試

library(plyr) 

rbind.fill(republicanattacks,democratattacks) 

希望它可以幫助...

相關問題