【发布时间】:2012-05-09 07:07:42
【问题描述】:
我正在合并一些存储在列表中的数据帧。为此,我使用带有.df 命令的for 循环。现在,我想在循环中的paste 中使用数据框的名称为suffixes。
有没有办法,使用for ( .df in [list]) { 命令,我可以减去当前在循环内.df 中的数据框的名称?
假设我有这个包含三个数据框的列表,
a <- list(A = data.frame(a=runif(2), b=runif(2)),
B = data.frame(a=runif(2), b=runif(2)),
C = data.frame(a=runif(2), b=runif(2)))
a
$A
a b
1 0.2833226 0.6242624
2 0.1741420 0.1707722
$B
a b
1 0.55073381 0.6082305
2 0.08678421 0.5192457
$C
a b
1 0.02788030 0.1392156
2 0.02171247 0.7189846
现在,我想使用这个循环,
for ( .df in a) {
print(['command I do not know about'])
}
然后让[我不知道的命令]打印出A、B、C(即.df中数据框的名称)。
我可以这样做吗?
2012-04-28 20:11:58 PDT 更新
这是我使用上面的简单循环从我的输出中得到的一个片段,
for ( .df in a) {
print(['command I do not know about'](a))
}
[1] "A"
[1] "B"
[1] "C"
我可以使用,
for (x in names(a)) {
print(x)
}
但由于我正在做的事情的性质,我想在我的 for 循环中使用 for ( .df in [list]) { 命令。
【问题讨论】:
-
使用
for (nm in names(a)) { print(nm); .df = a[[nm]] }? -
@MartinMorgan,感谢您回答我的问题,但是当数据帧存储在
.df中时,我正在寻找一种方法来减去 循环内 中的名称元素。很抱歉在我最初的问题中没有更具体。 -
减去名称是什么意思?您可以添加预期输出的 sn-p 吗?
-
@Chase,谢谢你没有放弃我的问题。我在输出中添加了一个小更新,其中包含我想要的 sn-p。如果这有帮助,请告诉我。
-
基本上,答案是……名字不见了。循环变量在传递到循环时是一个未命名的数据帧。正如他们在新英格兰所说的那样,当桥梁被冲毁时......“寻找替代路线”。
标签: r list loops for-loop dataframe