从单个较大的帧创建许多排序的数据帧

时间:2017-08-04 15:40:24

标签: r

目前的困境:我有一个庞大的数据框,我试图根据列中的部分字符串匹配分解为较小的文件。我制作了一个非常适用的脚本:

df <- read.csv("file.csv", header = TRUE, sep = ",")
newdf <- select(df, matches('threshold1',))
write.csv(newdf,"threshold1.file.csv", row.names = FALSE)

问题在于我有数百个阈值可分解为单独的文件。必须有一种方法可以循环这个脚本来为我创建所有文件,而不是手动编辑脚本来说出threshold2,threshold3等。

1 个答案:

答案 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)