基于R dataf中字符串中的字过滤数据

基于R dataf中字符串中的字过滤数据,r,filter,multiple-columns,tidyverse,mutate,R,Filter,Multiple Columns,Tidyverse,Mutate,我有一个需要清理的数据框,以包含一个处理变量(列)。该信息当前存储在plant变量中,但我需要将其作为自己的列。我试过在我的烟斗里过滤,但还没有成功。这两种治疗应为对照组和覆盖治疗 库(tidyverse) setwd(“/Users/israel/Desktop/Ecology Paper”) 原始数据% 突变所有(funs(替换na(,0))%>% 分组依据(location.ID,Year)%>% 聚集(键=工厂,值=计数,-location.ID,-Year)%>% 分组依据(loca

我有一个需要清理的数据框,以包含一个处理变量(列)。该信息当前存储在
plant
变量中,但我需要将其作为自己的列。我试过在我的烟斗里过滤,但还没有成功。这两种治疗应为
对照组
覆盖治疗

库(tidyverse)
setwd(“/Users/israel/Desktop/Ecology Paper”)
原始数据%
突变所有(funs(替换na(,0))%>%
分组依据(location.ID,Year)%>%
聚集(键=工厂,值=计数,-location.ID,-Year)%>%
分组依据(location.ID,Year,as.factor(plant))%>%过滤器(包含(控制))

如果我们试图基于“工厂”进行过滤,请在“工厂”列上使用
stru detect
(或
grepl
from
base R

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
步骤不清楚。如果我们想
过滤
任何
控制,那么在
过滤
之前将
分组,并用
任何
包装,即
任何(str\u检测(植物,'Control'))

你能包括一些说明性的可重复数据吗?
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)