在R中拆分文件

时间:2017-11-05 17:44:15

标签: r

我是R的新手,如果有人能给我榜样,我愿意这样做,会很感激。如果我有这个文件:

Row1_id ,  val11, val12 , val13  
Row2_id ,  val21, val22 , val23

我需要将其拆分为3个文件。每列的文件加上行id和制表符分隔。例如file1应为:

row1_id val11  
row2_id val21

和第三个文件3:

row1_id  val13  
row2_id  val23

2 个答案:

答案 0 :(得分:1)

这只是您如何解决问题中的问题的一个示例。在您的实际用例中,您将需要更改输出文件的名称 我假设您的数据是名为data.frame的类dat的对象。

dat <- data.frame(x = 1:10, y = 11:20, z = 21:30)
filenames <- sprintf("file%02d.txt", 1:3)
lapply(seq_len(ncol(dat)), function(i)
        write.table(dat[i], filenames[i], sep = "\t"))

答案 1 :(得分:1)

我不知道你的数据是否已经存在,所以在R中分三步创建了一个数据示例:

Row1_id <- c("val11", "val12", "val13")
Row2_id <- c("val21", "val22", "val23")
data<-data.frame(rbind(Row1_id, Row2_id)) 

现在有一个名为“data”的数据框,它看起来像这样:

           X1    X2    X3
Row1_id val11 val12 val13
Row2_id val21 val22 val23

选择列的简单方法是从dplyr包中应用“select”函数:

library(dplyr)
df1 <- select(data, X1)
df2 <- select(data, X2)
df3 <- select(data, X3)

现在有3个数据框,每个数据框只包含一列。例如,df2看起来像这样:

           X2
Row1_id val12
Row2_id val22   

希望它有所帮助!