我想重複的ID來刪除行與重複的ID
數據
id V1 V2
1 a 1
1 b 2
2 a 2
2 c 3
3 a 4
的問題是,有些人做了試驗了幾次,它產生於V2多個分數刪除行,我想刪除重複的id並隨機保留V2中的一個分數。
輸出
id V1 V2
1 a 1
2 a 2
3 a 4
我嘗試這樣做:
neu <- unique(neu$userid)
但它並沒有根據您的工作,例如
我想重複的ID來刪除行與重複的ID
數據
id V1 V2
1 a 1
1 b 2
2 a 2
2 c 3
3 a 4
的問題是,有些人做了試驗了幾次,它產生於V2多個分數刪除行,我想刪除重複的id並隨機保留V2中的一個分數。
輸出
id V1 V2
1 a 1
2 a 2
3 a 4
我嘗試這樣做:
neu <- unique(neu$userid)
但它並沒有根據您的工作,例如
使用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 <- 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))
This Works!非常感謝。 – Lucia
創建數據幀:
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 <- df[sample(nrow(df)),]
然後刪除重複的appearence的順序:
df <- df[!duplicated(df$id),]
現在那種你回數據幀:
df <- df[with(df, order(id)),]
記住按您的數據框名稱更改df
。
'DF [!複製(DF $ ID),]'? – r2evans
已經嘗試過,df [!duplicated(neu $ userid)]中的錯誤,]: 'closure'類型的對象不是子集合 – Lucia
嘗試'df [!重複(df $ userid)],'' – Whitebeard