【问题标题】:How to remove the duplicate data from csv file?如何从 csv 文件中删除重复数据?
【发布时间】:2017-05-08 05:32:09
【问题描述】:

我有 2016 年棒球成绩的数据。

现在,我想删除得分相同的列。

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

如何使用 r 中的函数?

我只是尝试使用下面的代码,但效果不佳。

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

请帮帮我...!!

【问题讨论】:

  • 出了什么问题...
  • 为什么今天每个人都在发布数据图像?拜托,Hailey,发布数据,而不是它的图像。请阅读(或重读)关于 reproducible questions 的内容,尤其是它提供了在您的问题中包含可用数据选项的区域。
  • ... 在这个问题中,您需要确定预期的输出应该是什么。删除一整列对我来说没有意义。而且由于这些数据都没有显示团队/分数的重复,因此似乎不足以证明您的观点。
  • 我不确定问题是否与处理重复数据有关。建议去掉duplicates标签,修改题名。
  • 我从来没有上传过任何实际的文件,所以我刚刚捕获并上传了图像。有很多像上图这样的数据,并且有一些分数与上面的数据并列。我只是想删除有 tie score 的列。

标签: r csv duplicates


【解决方案1】:

这里有一个简单的方法来删除带有 tie-score 的行:

(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

【讨论】:

    【解决方案2】:

    我了解您不想删除重复项,但需要对数据帧进行子集化以丢弃绑定匹配项。

    使用 data.table 的一个非常简单的选项:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-21
      • 1970-01-01
      • 1970-01-01
      • 2022-08-02
      • 2020-05-26
      • 1970-01-01
      • 2018-08-15
      • 1970-01-01
      相关资源
      最近更新 更多