d*******1 发帖数: 854 | 1 要把一个操作重复N次, 每次要换一下参数, 例子如下:
setwd("/staff/xxx")
all_diffs<- read.csv("all_diffs.csv")
diffs_1h<- all_diffs[all_diffs$time==1,]
write.csv(diffs_1h,"diffs_1h.csv", row.names=F)
diffs_3h<- all_diffs[all_diffs$time==3,]
write.csv(diffs_3h,"diffs_3h.csv", row.names=F)
diffs_24h<- all_diffs[all_diffs$time==24,]
write.csv(diffs_24h,"diffs_24h.csv", row.names=F)
这里就是把时间点为1,3和24小时的数据分别写到不同的CSV文件中(文件名有时间),想
用一个loop 搞定, 类似于:
for (i in c(1,3,24)){
}
但是怎么用i替换code里的时间和文件名呢?
谢谢了 | o****o 发帖数: 8077 | 2 t<-c(1,3,24)
for (i in 1:3){
write.csv(all_diffs[alldiffs$time==t[i],
paste('c:/diff_',t[i],'h.csv', sep=''),
row.names=F)
}
【在 d*******1 的大作中提到】 : 要把一个操作重复N次, 每次要换一下参数, 例子如下: : setwd("/staff/xxx") : all_diffs<- read.csv("all_diffs.csv") : diffs_1h<- all_diffs[all_diffs$time==1,] : write.csv(diffs_1h,"diffs_1h.csv", row.names=F) : diffs_3h<- all_diffs[all_diffs$time==3,] : write.csv(diffs_3h,"diffs_3h.csv", row.names=F) : diffs_24h<- all_diffs[all_diffs$time==24,] : write.csv(diffs_24h,"diffs_24h.csv", row.names=F) : 这里就是把时间点为1,3和24小时的数据分别写到不同的CSV文件中(文件名有时间),想
| d*******1 发帖数: 854 | 3 改成write.csv(all_diffs[alldiffs$time==t[i],],就可以了, 多谢了。 在看到你的
答案之前, 我依据songkun大虾为以前一个帖子的答案依葫芦画瓢,得到如下code:
setwd("xxxxxx")
all_diffs<- read.csv("all_diffs.csv")
for (i in c(1,3,24)) {
ob_name<- paste('diffs_',i,'h',sep="")
file_name<- paste('"','diffs_',i,'h.csv','"',sep="")
assign(ob_name,all_diffs[all_diffs$time==i,])
write.csv(get(ob_name),file_name,row.names=F)
}
结果也产生了三个相同大小的文件, 但是文件名把“”也包括进去了, 得到的就是"
diffs_1h.csv", 并不被识别为CSV 文件, 为什么会有这样的差别呢?
【在 o****o 的大作中提到】 : t<-c(1,3,24) : for (i in 1:3){ : write.csv(all_diffs[alldiffs$time==t[i], : paste('c:/diff_',t[i],'h.csv', sep=''), : row.names=F) : }
| i********f 发帖数: 206 | 4 试试把
file_name<- paste('"','diffs_',i,'h.csv','"',sep="")
改成
file_name<- paste('diffs_',i,'h.csv',sep="")
【在 d*******1 的大作中提到】 : 改成write.csv(all_diffs[alldiffs$time==t[i],],就可以了, 多谢了。 在看到你的 : 答案之前, 我依据songkun大虾为以前一个帖子的答案依葫芦画瓢,得到如下code: : setwd("xxxxxx") : all_diffs<- read.csv("all_diffs.csv") : for (i in c(1,3,24)) { : ob_name<- paste('diffs_',i,'h',sep="") : file_name<- paste('"','diffs_',i,'h.csv','"',sep="") : assign(ob_name,all_diffs[all_diffs$time==i,]) : write.csv(get(ob_name),file_name,row.names=F) : }
|
|