所以,我有一個看起來像這樣的資料框:
plot <- data.frame(plot=c("A", "A", "A", "B", "B", "C", "C", "C"),
grid= c(1,1,1,2,2,3,3,3),
year1=c(2000,2000,2010,2000,2010,2000,2010,2010),
year2=c(2005,2005,2015,2005,2015,2005,2015,2015))
plot
plot grid year1 year2
1 A 1 2000 2005
2 A 1 2000 2005
3 A 1 2010 2015
4 B 2 2000 2005
5 B 2 2010 2015
6 C 3 2000 2005
7 C 3 2010 2015
8 C 3 2010 2015
所以對于plot我有重復值的列grid,每個圖總是唯一的,但是年份在變化,我想要的基本上是一個新的資料框,它將只保留這四列中的所有唯一組合,看起來像這個:
plot grid year1 year2
1 A 1 2000 2005
2 A 1 2010 2015
3 B 2 2000 2005
4 B 2 2010 2015
5 C 3 2000 2005
6 C 3 2010 2015
我試圖尋找解決方案,但我找不到適合我的例子的任何東西。
uj5u.com熱心網友回復:
使用distinct:
library(dplyr)
distinct(plot)
plot grid year1 year2
1 A 1 2000 2005
2 A 1 2010 2015
3 B 2 2000 2005
4 B 2 2010 2015
5 C 3 2000 2005
6 C 3 2010 2015
或者在基礎 R 中,使用duplicated:
plot[!duplicated(plot),]
uj5u.com熱心網友回復:
data.table選項使用unique:
library(data.table)
unique(setDT(plot))
#> plot grid year1 year2
#> 1: A 1 2000 2005
#> 2: A 1 2010 2015
#> 3: B 2 2000 2005
#> 4: B 2 2010 2015
#> 5: C 3 2000 2005
#> 6: C 3 2010 2015
使用reprex v2.0.2創建于 2022-11-04
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/527334.html
標籤:r数据框
