Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用R在目录中的多个文件中查找字符串序列_R_Csv_Dataset_Corpus - Fatal编程技术网

使用R在目录中的多个文件中查找字符串序列

使用R在目录中的多个文件中查找字符串序列,r,csv,dataset,corpus,R,Csv,Dataset,Corpus,我正在编写一个R程序,它读取目录中的CSV文件,搜索存储在名为parentVector的向量中的字符串,并将相应的行写入名为df.CSV的输出CSV文件。这就是我到目前为止所做的: setwd("my_directory") # variable for csv directory csvFolder <- "csv_directory" flist <- list.files(path = csvFolder) masterCorpus <- data.frame()

我正在编写一个R程序,它读取目录中的CSV文件,搜索存储在名为
parentVector
的向量中的字符串,并将相应的行写入名为
df.CSV
的输出CSV文件。这就是我到目前为止所做的:

setwd("my_directory")

# variable for csv directory
csvFolder <- "csv_directory"

flist <- list.files(path = csvFolder)
masterCorpus <- data.frame()

# This vector gives you the full file list in your directory
allFilesInDirectory <- list.files(csvFolder, full=TRUE)

# This vector will read the data from allFilesInDirectory vector
allTheData <- lapply(allFilesInDirectory, read.csv, header=TRUE)

parentVector <- c("Mother","mother", "Father","father","Adult","adult","MOT","FAT")
setwd(“我的目录”)
#csv目录的变量

csvFolder使用

将csv读入数据帧后,可以通过为由“|”或正则表达式运算符分隔的每个元素创建正则表达式来测试行是否包含parentVector字符向量中的任何字符串。您可以使用
paste0
快速执行此操作,如下所示。然后使用它作为您传递给stringr的
str\u detect
的模式参数的正则表达式。因此,如果将csv读入一个名为df的变量,它将如下所示:

library(stringr)
library(dplyr)

parent_vector_pattern <- paste0(parentVector, collapse="|")

filtered_df <- df %>%
    mutate(contains_pattern = str_detect(COLUMN_WITH_TEXT_NAME_HERE, parent_vector_pattern) %>%
    filter(contains_pattern)
库(stringr)
图书馆(dplyr)
父向量模式%
过滤器(包含_模式)

请注意,mutate、filter和%>%是dplyr软件包的一部分。

不清楚什么是“查看每个CSV文件并查找parentVector中包含的字符串?”这些注释听起来有点像是家庭作业。如果是,请贴上标签。这不是家庭作业。我有一份R程序员的小工作,我已经熟悉了这门语言。这些评论是为了可读性