我做了一个简单的
csv <- read.csv('omg.csv', sep=' ', row.names=1)
并获取
不允许重复'row.names'
立即打印哪个行名称是重复的将会很有帮助。有没有一种简单的方法可以做到这一点,而不是对CSV文件进行排序等等?当然,R内部知道有问题的行的名字......
答案 0 :(得分:2)
您可以在不要求将特定列用于行名称的情况下读取文件:
csv <- read.csv('omg.csv', sep=' ')
并在第一列中查找重复索引:
which(duplicated(csv[, 1]))
您还可以使用table
来识别重复的值及其各自的频率:
tab <- table(csv[, 1])
tab[tab > 1]
你想从这里做什么真的取决于你。你可以放弃row.names = 1
并对它感到满意。但是,如果您确实希望将第一列用作行名,则需要执行一些操作来解决这些重复项。您可以手动修复文件或以编程方式创建唯一的行名称,如下所示:
rownames(csv) <- make.names(csv[, 1], unique = TRUE)
csv <- csv[, -1]