将列表/数据帧用作R中循环的项
我很确定这是基本的东西,但我就是无法通过谷歌搜索找到答案。所以我的问题是: 我想在列表或数据帧列表上使用for循环。但是当您使用list[i]时,您会得到数据帧中的所有值,而不是它本身的数据帧。有人能告诉我如何正确编码吗 代码示例:将列表/数据帧用作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
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当我使用类(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]]