目前的困境:我有一个庞大的数据框,我试图根据列中的部分字符串匹配分解为较小的文件。我制作了一个非常适用的脚本:
df <- read.csv("file.csv", header = TRUE, sep = ",")
newdf <- select(df, matches('threshold1',))
write.csv(newdf,"threshold1.file.csv", row.names = FALSE)
问题在于我有数百个阈值可分解为单独的文件。必须有一种方法可以循环这个脚本来为我创建所有文件,而不是手动编辑脚本来说出threshold2,threshold3等。
答案 0 :(得分:0)
你可以尝试用lapply来解决它。
# Functions that splits and saves the data.frame
split_df <- function(threshold, df){
newdf <- select(df, matches(threshold,))
write.csv(newdf,
paste(".file.csv", sep = ""), row.names = FALSE)
return(threshold)
}
df <- read.csv("file.csv", header = TRUE, sep = ",")
# Number for thresholds
N <- 100
threshold_l <- paste("threshold", 1:N, sep = "")
lapply(threshold_l, split_df, df = df)