Как поместить текст из столбца в R - PullRequest
0 голосов
/ 17 января 2020

Я пытаюсь выделить некоторые виды деревьев из моего существующего фрейма данных, чтобы я мог проанализировать эти конкретные c виды. Например, я пытаюсь извлечь виды Quercus из столбца «виды», но все еще имею всю информацию, связанную с ними. Я прикрепил заголовок моего фрейма данных, чтобы вы могли лучше понять, о чем я говорю. У меня также есть около 800 строк, если эта информация необходима. seedlings_1995

Спасибо всем, кто может помочь!

Ответы [ 3 ]

1 голос
/ 17 января 2020

Я думаю, это будет работать; вы можете получить к нему доступ с помощью переменной, и если вы не хотите этого, просто пропустите, используя переменную x:

x<-seedlings_1995[seedlings_1995$species=="Quercus",]
0 голосов
/ 18 января 2020

Привет всем, кто ответил,

Большое спасибо за совет. Я использовал эту строку кода:

quercus_sd_95 <-new.five.seedling [grep ("Quercus", new.five.seedling $ видов),] </p>

и получил именно то, что Мне было нужно. Я попытался использовать функцию подмножества, но она искала только слово «Quercus» вместо любых значений, которые имели «Quercus» в названии вида. Используя grep, я смог извлечь все значения, которые имели «Quercus» в названии вида. Я знаю, что есть миллион способов сделать это в R, но это только один способ, который сработал для меня.

Еще раз спасибо.

Снова, большое спасибо всем вам!

0 голосов
/ 17 января 2020

Вот два решения, использующие dplyr, второе также использует stringr. Этот код работает с некоторыми примерами данных, аналогичными вашим.

df<-data.frame(Sp = c(rep(paste("Quercus",seq(1,10,1),sep=" "),3),
                      rep(paste("Acer",seq(1,10,1),sep=" "),3)),
           Info1 = rnorm(60,100,20),
           Info2 = rnorm(60,50,5))

Если вы заинтересованы в выборе только определенных видов, первый вариант будет более полезным.

library(dplyr)
#The species you are interested in analysing
species_of_interest<-c("Quercus 1", "Quercus 2", "Quercus 10")
#Then filter and save it in df1 object
df1<-df %>%
  filter(Sp %in% species_of_interest)

Однако, если Вы заинтересованы в анализе всех видов одного конкретного рода, таких как Quercus , этот подход может быть более полезным:

#select every species containing the word "Quercus" (which can be interpreted as all 
#the species of the genus Quercus).

library(dplyr)
library(stringr)
df1<-df %>%
  filter(str_detect(Sp, "Quercus"))
...