如何从带有索引列的数据框中提取唯一行?

时间:2018-11-09 09:32:40

标签: r excel unique

我要从Excel导入到R,而不是重复,并且要导入Excel(索引)的行号。如果我在设置Index之前执行unique(),则数据框中行的位置将与Excel文件不对应。如果我在Index之后执行unique(),它将同时考虑Index列,并且不会有任何重复。

此:

Index   a   b   c
1       12  12  14
2       12  12  14
3       11  12  13 

对此:

Index   a   b   c
1       12  12  14
3       11  12  13 

代码:

library(openxlsx)
library(tidyverse)
dati <- data.table(read.xlsx("\\\\192.168.x.x\\file.xlsx", detectDates = TRUE))
#Index row
dati <- tibble::rowid_to_column(dati, "Index")

(如果我很抱歉这是一个重复的问题,我反复搜索了好几天,却找不到任何东西。我觉得这是使用不同关键字的非常简单的解决方案)

1 个答案:

答案 0 :(得分:2)

您可以使用duplicated()

> df1[-which(duplicated(df1[,-1])), ]
  Index  a  b  c
1     1 12 12 14
3     3 11 12 13

数据

df1 <- structure(list(Index = 1:3, a = c(12L, 12L, 11L), b = c(12L, 
                                                               12L, 12L), c = c(14L, 14L, 13L)), class = "data.frame", row.names = c(NA, 
                                                                                                                                     -3L))