【发布时间】:2017-12-05 17:25:47
【问题描述】:
我正在 R 中进行一些编码。我想显示列 ID 和 NAME 重复但 AGE 值不同的行。
例如我有这张桌子:
ID | NAME | AGE
111| Mark| 22
222| Anne| 21
333| Chery| 30
444| Megan| 16
555| Charles| 37
111| Mark| 23
222| Anne| 22
333| Chery| 30
111| Mark| 22
到目前为止,我有这个代码:
readfile <- read.csv(file='/home/user/shane/names.csv')
dat <- data.frame(ID=c(readfile$ID),NAME=c(readfile$NAME),AGE=c(readfile$AGE))
nam <- duplicated(dat[,c('ID','NAME)]) | duplicated(dat[,c('ID','NAME], fromLast = TRUE)
readfile[nam,]
输出如下:
ID | NAME | AGE
111| Mark| 22
222| Anne| 21
333| Chery| 30
111| Mark| 23
222| Anne| 22
333| Chery| 30
111| Mark| 22
我希望输出为:
ID | NAME | AGE
111| Mark| 22
222| Anne| 21
111| Mark| 23
222| Anne| 22
111| Mark| 22
我想删除 ID = 333 的列,因为它们在 Age 中具有相同的值。有人有什么建议吗?
【问题讨论】:
-
我很困惑。您如何达到所需的输出?通过过滤原始对象或过滤掉重复项的对象?没有
ID=33,只有333。 -
您好,如果我不清楚,抱歉。这将是您过滤掉重复项的对象。然后将显示所有不一致的年龄。例如,如果同一 id 和 name 上的年龄是 22、23、22。我希望显示这些行。对不起我的英语。
标签: r duplicates unique