将列表/数据帧用作R中循环的项

将列表/数据帧用作R中循环的项,r,dataframe,for-loop,R,Dataframe,For Loop,我很确定这是基本的东西,但我就是无法通过谷歌搜索找到答案。所以我的问题是: 我想在列表或数据帧列表上使用for循环。但是当您使用list[i]时,您会得到数据帧中的所有值,而不是它本身的数据帧。有人能告诉我如何正确编码吗 代码示例: a<-data.frame(seq(1:3),seq(3:1)) b<-data.frame(seq(1:3),seq(3:1)) l<-c(a,b) 我希望它只返回:a您可以使用列表功能: a<-data.frame(1:3,1:3) b

我很确定这是基本的东西,但我就是无法通过谷歌搜索找到答案。所以我的问题是:

我想在列表或数据帧列表上使用for循环。但是当您使用list[i]时,您会得到数据帧中的所有值,而不是它本身的数据帧。有人能告诉我如何正确编码吗

代码示例:

a<-data.frame(seq(1:3),seq(3:1))
b<-data.frame(seq(1:3),seq(3:1))
l<-c(a,b)

我希望它只返回:a

您可以使用
列表
功能:

a<-data.frame(1:3,1:3)
b<-data.frame(3:1,3:1)

l<-list(a,b)

Ps:
seq(1:3)
seq(3:1)
输出相同的值,所以我使用了
1:3
3:1
:)

使用
[
而不是
[
拉子列表,
[
拉一个特定的元素。如果你可以发布你的数据样本,或者用输入和预期的输出创建你自己的数据,我们可以帮你轻松得多。我想当你有
测试[I-2]
你的意思是
测试[j-2]
。您还有一个问题,
test[1]
将为每个
i
覆盖。也许您的意思是用“矩阵”a重新执行
test
,它显示在您的文本中,但不显示在您的代码中?如果没有可复制的数据,我们无法真正为您执行任何测试或调试。我们没有
comb.rdata
,我们无法创建
dat
或任何
子集
wholeyear
,等等。如果您发布一个小的、可复制的数据示例,(理想情况下可复制/粘贴),我们可以更轻松地帮助您。
dput()
非常适合复制/粘贴数据。仅需2个子集,每个子集有2或3列和6行,就足以说明问题并演示解决方案。如果您可以显示小样本输入的预期输出,这也很有帮助。很抱歉,已更新,以便更容易理解我正在尝试的内容do@Gregor当我使用 str(c(mtcars,iris))它给了我一个向量列表,而不是数据帧。我遗漏了什么吗?谢谢你的信息!不,我错了。我只是做了
类(c(mtcars,iris))
并做了一个错误的假设。(可能值得澄清,
c(a,b)
是一个实际的列表,但它是所有数据帧中所有列的列表。
列表(a,b)
是需要的,一个数据帧列表。)@Gregor感谢您指出实际列表,我不知道。我将更新我的答案。:)
a<-data.frame(1:3,1:3)
b<-data.frame(3:1,3:1)

l<-list(a,b)
l[[1]]
l[[2]]