Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 删除具有重复ID的行_R_Delete Row_Duplicate Data - Fatal编程技术网

R 删除具有重复ID的行

R 删除具有重复ID的行,r,delete-row,duplicate-data,R,Delete Row,Duplicate Data,我想删除ID重复的行 资料 问题是有些人做了几次测试,在V2上产生了多个分数,我想删除重复的id,并在V2中随机保留一个分数 输出 id V1 V2 1 a 1 2 a 2 3 a 4 我试过这个: neu <- unique(neu$userid) neu根据您的示例创建数据帧: df <- read.table(text = "id V1 V2 1 a 1 1

我想删除ID重复的行

资料

问题是有些人做了几次测试,在V2上产生了多个分数,我想删除重复的id,并在V2中随机保留一个分数

输出

id    V1    V2   
1     a      1
2     a      2
3     a      4
我试过这个:

neu <- unique(neu$userid)

neu根据您的示例创建数据帧:

df <- read.table(text = 
"id    V1    V2   
1     a      1
1     b      2
2     a      2
2     c      3
3     a      4", h = T)

df使用
dplyr

library(dplyr)
set.seed(1)
df %>% sample_frac(., 1) %>% arrange(id) %>% distinct(id) 
输出:

  id V1 V2
1  1  b  2
2  2  c  3
3  3  a  4
数据:


df
df[!duplicated(df$id),]
已尝试此操作,df[!duplicated(neu$userid),]中出现错误:类型为“closure”的对象不可子集尝试
df[!duplicated(df$userid),]
df[!duplicated(df$userid),]中出现错误:类型为“closure”的对象不可子集,然后发布一个更相关的示例。该代码与您提供的MWE配合得非常好。
df <- df[!duplicated(df$id),]
df <- df[with(df, order(id)),]
library(dplyr)
set.seed(1)
df %>% sample_frac(., 1) %>% arrange(id) %>% distinct(id) 
  id V1 V2
1  1  b  2
2  2  c  3
3  3  a  4
df <- structure(list(id = c(1L, 1L, 2L, 2L, 3L), V1 = structure(c(1L, 
2L, 1L, 3L, 1L), .Label = c("a", "b", "c"), class = "factor"), 
    V2 = c(1L, 2L, 2L, 3L, 4L)), .Names = c("id", "V1", "V2"), class = "data.frame", row.names = c(NA, 
-5L))