我有一个数据框,其中有一列如下:
col1
line1
line1
line2
我尝试使用以下方法删除重复:
df2 <- df[!duplicated(df), ]
但它产生了一个很大的因素,而不是删除副本。结构的结果是这样的:
str(df2)
Factor w/ 7472 levels
答案 0 :(得分:2)
如果只有一列,则需要使用drop = FALSE
来获取数据帧:
df2 <- df[!duplicated(df), , drop = FALSE]
另一种选择是使用unique
函数:
df2 <- unique(df)
两种方法的结果是相同的:
> df2
col1
1 line1
3 line2
答案 1 :(得分:0)
col1 <- c("line1",
"line1",
"line2")
df <- data.frame(col1=col1, x=c(1,2,3))
df1 <- df[!duplicated(df$col1),]
df1
col1 x 1 line1 1 3 line2 3
class(df1)
[1]“data.frame”