使用R在目录中的多个文件中查找字符串序列
我正在编写一个R程序,它读取目录中的CSV文件,搜索存储在名为使用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()
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程序员的小工作,我已经熟悉了这门语言。这些评论是为了可读性