R 输出列表示任意数量的列

R 输出列表示任意数量的列,r,R,我已附上。每列表示探测器每隔半小时收集的每日数据。我想在CSV文件中输出每个探测器的每日平均值。到目前为止,我有以下代码 sink('d2.csv') x<-1 y<-48 for(i in 1:123) { W=E.2.[x:y] M=mean(W) print(M) x<-x+48 y<-y+48 } sink() 如果不了解更多关于数据结构的信息以及您要做的事情,就很难确定,但是通过使用该函数,您需要的所有内容都可以放在两行

我已附上。每列表示探测器每隔半小时收集的每日数据。我想在CSV文件中输出每个探测器的每日平均值。到目前为止,我有以下代码

sink('d2.csv')
x<-1
y<-48
for(i in 1:123) {
    W=E.2.[x:y]
    M=mean(W)
    print(M)
    x<-x+48
    y<-y+48
}
sink()

如果不了解更多关于数据结构的信息以及您要做的事情,就很难确定,但是通过使用该函数,您需要的所有内容都可以放在两行代码中(假设
df
是您的数据帧的名称):


编辑时:我使用了
by=4
,因为您的代码有类似
x的行。如果需要进一步帮助,请制作一个可复制的示例。例如,粘贴
dput(df)
的结果,或者如果前者太大,则粘贴
dput(head(df))
。时间戳E.2.E.3.E.4.E.5.E.6.E.7.E.8.E.9.E.10.E.11.E.12.E.13。1 3/16/2013 0:00 108.1 166.4 238.41 261.2 373.5 324.27 278.94 514.2 629.8 607.9 334.9 323.59 2 3/16/2013 0:30 109.5 165.6 237.4 261.19 367.1 324.2 278.53 513.2 631.8 609.3 335 323.19 3 3/16/2013 1:00 110.6 165.5 236.48 261.17 368.1 324.2 278.13 512.4 631.2 609.3 335 323.56 4 3/16/2013 1:30 111.4 165.6 235.69 261.13 375.1 324.2 277.49 511.6 629.1 606.6 335.2 323.5 5 5 3/16/2013 2:00 112.2 165.7 234.88 261.09 379.6 324.21 276.85 510.6 629.5 607.3 335.3 323.67谢谢John的及时回复。我附上了你要求的数据,希望不要太乱!这很有帮助,但理想情况下,它应该被编辑到问题本身中,并且具有读者可以直接复制粘贴到R中的特性。您仍然需要像
read.table()
这样的东西
dput
的好处是它提供了一个可直接粘贴的副本。安装了zoo,但您的建议不起作用。我已经在最初的问题中粘贴了数据,以查看这是否有助于您提出建议。我尝试使用以下方法安装zoo,但它不起作用>install.packages(“zoo_1.6-4.tar.gz”,repos=NULL);警告:无效的软件包'zoo_1.6-4.tar.gz'错误:错误:安装中未指定软件包警告。软件包:运行命令'C:/Users/clahiri/DOCUME~1/R/R-34~1.2/bin/x64/R“CMD install-l”C:\Users\clahiri\Documents\R\R-3.4.2\library“zoo_1.6-4.tar.gz”install.packages中的'had status 1 Warning:安装包'zoo_1.6-4.tar.gz'的退出状态为非零
zoo
是一个标准的CRAN包:可能您正在尝试安装包的旧版本。RStudio对于轻松安装软件包非常有用。我将文档链接更改为指向当前版本。我安装了该软件包,但无法使脚本正常工作!原始问题确实有数据的屏幕截图。你所说的“无法使脚本工作”是什么意思?我能够根据您提供的数据让它工作(使用宽度为3的滑动窗口,步幅为
by=2
),它对我有效。如果对你不起作用,就说怎么做。你有错误吗?如果是,有哪些错误?没有错误,但不是您想要的结果?
    TIMESTAMP       E.2.    E.3.    E.4.    E.5.    E.6.    E.7.    E.8.    E.9.    E.10.   E.11.   E.12.   E.13.
1   3/16/2013 0:00  108.1   166.4   238.41  261.2   373.5   324.27  278.94  514.2   629.8   607.9   334.9   323.59
2   3/16/2013 0:30  109.5   165.6   237.4   261.19  367.1   324.2   278.53  513.2   631.8   609.3   335.0   323.19
3   3/16/2013 1:00  110.6   165.5   236.48  261.17  368.1   324.2   278.13  512.4   631.2   609.3   335.0   323.56
4   3/16/2013 1:30  111.4   165.6   235.69  261.13  375.1   324.2   277.49  511.6   629.1   606.6   335.2   323.5
5   3/16/2013 2:00  112.2   165.7   234.88  261.09  379.6   324.21  276.85  510.6   629.5   607.3   335.3   323.67
6   3/16/2013 2:30  112.3   166.2   234.3   261.09  378.2   324.21  276.38  509.9   630.7   607.6   335.6   323.88
library(zoo)
write.csv(rollapply(df[,-1],48,mean,by = 4),"d2.csv")
write.csv(rollapply(df[,-1],48,mean,by = 48),"d2.csv")