我的csv文件(test)包含许多行和列(header=T)
。我想使用R将某些行(相隔24个)复制到一个新的csv文件(test1)中(例如,如果我从第二行开始,我想要行2,26,50,74 .....,410)。同样,将行(8,32,56 ......等)复制到较新的文件(test2)和行(12,36,60..etc)复制到较新的文件(test3)。我想知道是否有人可以帮助我?
我的测试代码(不使用强烈的手工劳动):
export=test[c("2","26","50"),]
write.csv(export,file="test1.csv")
答案 0 :(得分:1)
x=c(2,8,12)
nr=nrow(test)
for(i in seq_along(x)){
write.csv(test[seq(x[i],nr,24),],file=sprintf("test%s.csv",i))
}
它正在跳过一行,所以我只将第一行更改为 X = C(1,7,11-三) 它就像一个魅力。 谢谢Richard,lebatsnok和Gopala
答案 1 :(得分:0)
类似这样的事情(如果我理解你的问题;代码未经测试但可能会运气好)
df <- read.csv(....)
splitter <- rep(1:24, NROW(df)/23)[1:NROW(df)]
dfs <- split(df, splitter)
mapply(function(x,y) write.csv(x,y), dfs, paste0(1:length(dfs), ".csv")