2017-05-08 52 views
-3

我在2016年如何從csv文件中刪除重複的數據?

Example

有關於棒球的結果數據現在,我想刪除發領帶得分列。

也就是說,我想刪除$ team1_score和$ team2_score中具有相同值的列。

如何使用r中的函數?

我只是試圖使用下面的代碼,但它不能很好地工作。

Baseball2 <- Baseball[!duplicated(Baseball$team1_score)] 

請幫我... !!

+0

出了什麼問題? – MichaelChirico

+1

今天爲什麼每個人都被張貼*數據的圖像*?請,海莉,發佈**數據**,不是它的圖像。請閱讀(或重讀)關於[可重現的問題](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example),特別是它提供了包括可用數據在你的問題。 – r2evans

+0

......並且在這個問題中,您需要確定預期的輸出應該是什麼。刪除整列對我來說沒有意義。而且由於這些數據都沒有顯示團隊/分數的重複,似乎不足以證明你的觀點。 – r2evans

回答

0

這裏有一個簡單的方法來刪除行與領帶評分:

(dat <- data.frame(Team1_Score= c(1,2,3), Team2_Score=c(2,3,3))) 

    Team1_Score Team2_Score 
1   1   2 
2   2   3 
3   3   3 

使用邏輯測試,以找出哪一行已經配合得分:

tie <- dat$Team1_Score == dat$Team2_Score 
tie 
[1] FALSE FALSE TRUE 

使用此結果來選擇不在行領帶:

dat[!tie, ] 

    Team1_Score Team2_Score 
1   1   2 
2   2   3 
0

我知道你不想刪除重複項,但需要子集的數據幀丟棄打平的比賽。

一個使用data.table很簡單的選擇:

library(data.table) 
Baseball2 <- data.table(Baseball) 
Baseball2 <- Baseball2[Team1_Score != Team2_Score,]