用于将多个数据帧写入R中的excel文件的循环
我一直在拆分数据帧并将它们写入R中的txt文件,但现在我发现它们需要写入xlsx文件。我安装了xlsx包并修改了我的循环,但它不再工作了。我得到“错误在用于将多个数据帧写入R中的excel文件的循环,r,R,我一直在拆分数据帧并将它们写入R中的txt文件,但现在我发现它们需要写入xlsx文件。我安装了xlsx包并修改了我的循环,但它不再工作了。我得到“错误在[.default(点[[2L]],1L):下标超出范围” 以下是循环: trts<-vector("list", length=6) trt<-as.character(c("CC", "CCW", "C2", "S2", "PF", "P")) for(i in 1:6){ trts[[i]]<-co2[co2$trt =
[.default
(点[[2L]],1L):下标超出范围”
以下是循环:
trts<-vector("list", length=6)
trt<-as.character(c("CC", "CCW", "C2", "S2", "PF", "P"))
for(i in 1:6){
trts[[i]]<-co2[co2$trt == trt[i],]
write.xlsx(trts[[i]], paste(trt[i], "CO2", "xlsx", sep="."))
trts为什么不将其作为CSV输出
#Read Data
co2 <- read.table("~/Observed COBS CO2.txt",
header=T, quote="\"")
#Output to CSV
apply(as.matrix(unique(co2$trt)),1,
function(x){
write.table(co2[co2$trt == x,],
paste(x, "co2",".csv",sep=""),
sep=",",row.names=F)}
)
#读取数据
co2为什么不将其作为CSV输出
#Read Data
co2 <- read.table("~/Observed COBS CO2.txt",
header=T, quote="\"")
#Output to CSV
apply(as.matrix(unique(co2$trt)),1,
function(x){
write.table(co2[co2$trt == x,],
paste(x, "co2",".csv",sep=""),
sep=",",row.names=F)}
)
#读取数据
co2实际问题是什么?对不起,我得到“错误在[[.default
(dots[[2L]],1L]:下标超出范围”。通常情况下,如果您对长度<7
的列表执行类似列表[[7]]
之类的操作,就会出现这种情况。请尝试添加打印(I)
作为循环中的一行,看看你是否能找出问题出在哪一行。谢谢你的提示,@Senor O,但我不确定我是否明白打印的是什么。只是数字1、2、3。我原以为会增加到6。但在制作txt文件时,这个确切的代码是有效的,而不是excel文件。确切地说,如果是,则会增加到6我们的循环工作正常。现在您知道您的循环在print(3)
和print(4)
之间的某个时间停止工作。实际问题是什么?对不起,我收到了“Error in[.default
(dots[[2L]],1L]:下标越界”。通常,如果您执行类似List[[7]的操作,就会出现这种情况
查找长度<7
的列表或其他内容。尝试添加打印(i)
作为循环中的一行,看看你是否能找出问题出在哪一行。谢谢你的提示,@Senor O,但我不确定我是否明白打印的是什么。只是数字1、2、3。我原以为会增加到6。但在制作txt文件时,这个确切的代码是有效的,而不是excel文件。确切地说,如果是,则会增加到6我们的循环工作正常。现在您知道您的循环在print(3)
和print(4)之间的某个时间停止工作
。我想是因为使用.csv的excel用户无法双击并打开它。他们必须通过额外的步骤告诉excel它是一个.csv。我将得到大约50个文件,所以我希望R可以让这个人的工作更顺利。不过,感谢您提供的非循环代码!双击.csv代码>文件只是以与任何Excel文件相同的方式打开。是的!这就是我所想的,但是我从R编写的其他.csv文件正在打开,我的所有文本都在第一列。我还没有运行你的代码,但我会尝试一下,看看它是否能解决我在尝试之前不知道的问题。xlsx.Yep!非常感谢!想知道我为什么会这样做n无论如何,使用.txt…如果有帮助,向上投票会有帮助。我想,因为使用.csv的人不能双击它并打开它。他们必须经过额外的步骤,告诉excel它是一个.csv。我会得到大约50个文件,所以我希望R能让这个人的事情更顺利。谢谢你的帮助非循环代码!双击.csv
文件打开的方式与任何Excel文件打开的方式相同。是的!这是我的想法,但我从R编写的其他.csv文件打开时,所有文本都在第一列。我还没有运行你的代码,但我会尝试一下,看看它是否能解决我以前不知道的问题我试过了.xlsx.yesp!非常感谢!不知道为什么我一直在使用.txt…如果它有用的话,向上投票会有帮助。