我是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
答案 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
希望它有所帮助!