根据 R dataf 中字符串中的单词筛选数据



我有一个需要清理的数据帧以包含处理变量(列(。该信息当前存储在plant变量中,但我需要它成为自己的列。我已经尝试过在我的管道中过滤,但还没有运气。两种治疗方法应ControlCovered在此处访问数据

library (tidyverse)
setwd("/Users/israel/Desktop/Ecology Paper")
raw.data<- read.csv ("Complete Dataset_01_17_20.csv", header = TRUE)
flowers<- raw.data %>% select (1,3:35, 100:115) %>% 
mutate_all(funs(replace_na(., 0))) %>%
group_by(location.ID, Year) %>% 
gather (key= plant, value=count, -location.ID, -Year) %>% 
group_by(location.ID, Year, as.factor(plant))  %>% filter (contains(Control))

如果我们尝试根据"植物"进行过滤,请在"植物"列上使用str_detect(或base R中的grepl

(
library(dplyr)
library(tidyr)
library(stringr)
raw.data %>% 
select (1,3:35, 100:115) %>% 
mutate_if(is.numeric, replace_na, 0)  %>%
pivot_longer(cols = -c(location.ID, Year), names_to ='plant',
values_to = 'count') %>%       
filter(str_detect(plant, 'Control')) %>%
group_by(location.ID, Year)

group_by步骤尚不清楚。 如果我们想filterany"控制",那么在filter之前有group_by并用any包裹,即any(str_detect(plant, 'Control'))

最新更新