【发布时间】:2019-02-28 16:04:48
【问题描述】:
我很确定这是基本的东西,但我无法通过谷歌搜索找到答案。所以我的问题:
我想在列表或数据框列表上使用 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)
然后 l[1] 返回:
> l[1]
$seq.1.3..
[1] 1 2 3
我希望它只返回:a
【问题讨论】:
-
使用
[[而不是[。[拉取子列表,[[拉取特定元素。 -
如果您可以发布数据样本,或使用输入和预期输出创建自己的数据,我们可以更轻松地为您提供帮助。
-
我认为当你有
test[i-2]时,你的意思是test[j-2]。您还有一个问题,即每个i都会覆盖test[1]。也许您的意思是使用 "矩阵 "a"" 重新生成test,它会显示在您的文本中,但不会显示在您的代码中? -
如果没有可重现的数据,我们真的无法为您进行任何测试或调试。我们没有
comb.rdata,我们无法创建dat或您的任何subsets 或wholeyear等。如果您发布一个小的、可重复的示例一点数据(最好是复制/粘贴),我们可以更轻松地为您提供帮助。dput()非常适合制作数据复制/粘贴。只需 2 个子集,每个子集有 2 或 3 列和 6 行,就足以说明问题并展示解决方案。如果您可以显示小样本输入的预期输出,这也很有帮助。 -
抱歉,更新后更容易理解我想要做什么