объединяя векторы в г - PullRequest
0 голосов
/ 06 июня 2018

У меня есть набор данных, который повторял измерения на графике.Набор данных выглядит следующим образом

И я хочу извлечь все строки, которые начинаются с 1 (1a, 1b, 1c).Образцы были измерены на этих графиках 15 раз, при этом три повторных измерения проводились во время каждого события отбора проб.Таким образом, итоговый data.frame должен иметь в общей сложности 135 наблюдений (3x3x15).

Это код, который я использовал ...

Station1 <- BISC1FeldsParData[BISC1FeldsParData$Plot == c("1a", "1b", "1c"),]

Тем не менее, полученный data.frame имеет только45 наблюдений.Кажется, что я теряю реплики в каждом событии выборки для каждого из графиков.

1 Ответ

0 голосов
/ 06 июня 2018

Вы должны заменить == на %in%:

Station1 <- BISC1FeldsParData[BISC1FeldsParData$Plot %in% c("1a", "1b", "1c"), ]

Или мы можем использовать grep:

Station1 <- BISC1FeldsParData[grep("^1", BISC1FeldsParData$Plot), ]

Объяснение: Строка регулярного выражения "^1" соответствует записям, которые начинаются с "1".


Или используйте subset

Station1 <- subset(BISC1FeldsParData, Plot %in% c("1a", "1b", "1c"))

Или dplyr::filter

Station1 <- dplyr::filter(BISC1FeldsParData, Plot %in% c("1a", "1b", "1c"))
...