如何根据R中的过滤结果删除不需要的行

时间:2012-02-26 11:51:45

标签: r

我对R很新,但我在删除R中不需要的行时遇到了问题。所以我得到的是物种分布数据的文件。我需要根据XY坐标对整个数据集进行排序,并将数据投影到ArcGIS上。问题是在相同的XY坐标上存在相同物种的多个条目,因此我必须在相同的XY坐标上移除重复的行。

以下是数据外观的一个小例子:

SpeciesID  X       Y
38         333500  96500
38         333500  96500

这里我需要保留ID为38的物种的第一行,但删除第二行。

由于

约旦

3 个答案:

答案 0 :(得分:1)

  
    

unique会返回一个矢量,数据框或数组,例如 x 但删除了重复的元素/行。

  
> x = read.table(file='input.txt', header=TRUE)
> x
  SpeciesID      X     Y
1        38 333500 96500
2        38 333500 96500
> unique(x)
  SpeciesID      X     Y
1        38 333500 96500
>

答案 1 :(得分:1)

使用unique(),例如:

> df <- data.frame(SpeciesID=c("38", "38"), X=c("333500", "333500"), Y=c("96500", "96500"))
> unique(df)
  SpeciesID      X     Y
1        38 333500 96500

答案 2 :(得分:1)

寻找?duplicated?unique

df <- data.frame();
df <- rbind(df, c(38,333500,96500))
df <- rbind(df, c(38,333500,96500))
colnames(df) <- c("SpeciesID", "X", "Y")

df[!duplicated(df$SpeciesID),]