как удалить ненужные строки по результатам фильтра в R - PullRequest
0 голосов
/ 26 февраля 2012

Я довольно новичок в R, но я столкнулся с проблемой удаления ненужных строк в R. Так что я получил файл данных о нарушении видов. Мне нужно отсортировать весь набор данных по координатам XY и спроецировать данные на ArcGIS. Проблема заключалась в том, что существует несколько записей одного и того же вида с одинаковыми координатами XY, поэтому я должен удалить повторяющиеся строки с одинаковыми координатами XY.

Вот небольшой пример того, как выглядят данные:

SpeciesID  X       Y
38         333500  96500
38         333500  96500

Здесь мне нужно сохранить первый ряд видов с идентификатором 38, но удалить второй ряд.

Спасибо

Иордания

Ответы [ 3 ]

1 голос
/ 26 февраля 2012

Использование 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
1 голос
/ 26 февраля 2012

Ищите ?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),]
1 голос
/ 26 февраля 2012

уникальный возвращает вектор, фрейм данных или массив, например 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
>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...