使用粘贴功能显示多个数据集?

时间:2017-10-23 22:47:22

标签: r loops paste

我有一个关于使用"粘贴"的问题功能在R。

环境:

我有1000个数据集,每个数据集的维度为(5 X 100)。

它们分别称为X1,X2,...,X999,X1000。 我想看到每个数据集的第一行。 例如,X1 [1,],X2 [1,],...,X999 [1,],X1000 [1,]。

但是我想用循环来节省时间。 这是我最终生成错误信息的代码。

plot(X1[1,], type="s", col = "deeppink1",
  xlab = "Steps")

for(t in 2:1000){
lines(paste("X", t, sep="")[1,], type="s", col = "deeppink1")
}

错误消息msg说

Error in paste("final", t, sep = "")[1, ] : 
incorrect number of dimensions

我正在使用此代码来解决问题,但无法解决问题。请帮忙!提前谢谢!

2 个答案:

答案 0 :(得分:0)

paste("X", t, sep="")是一个字符串,而不是变量。

您必须编写get(paste("X", t, sep=""))来使用您的方法,但您应该将所有数据集放在一个列表中并循环遍历它们:

for(t in 2:1000){
lines(your_list[[t]][1,], type="s", col = "deeppink1")
}

答案 1 :(得分:0)

这是一个阵列解决方案。由于您的所有data.frame都是相同的维度,因此您可以使用数组轻松完成此操作。

示例数据:

Your_array<-array(1:500000,dim=c(100,5,1000)) #rows, columns , frames

显示每个data.frame的第一行

Your_array[1,,]