R 从最常用对象列表中提取列

R 从最常用对象列表中提取列,r,lapply,R,Lapply,是否有一个函数可以从coeftest对象中提取两列或更多列?这很容易一次创建一个coeftest对象,但是我可以对列表(而不是for()循环)执行同样的操作吗 我不确定这是否是你想要的,但是: > do.call("rbind", cts)[, 1:2] Estimate Std. Error (Intercept) 4.8200993881 0.142381642 b -0.0421189130 0.092620363 (Inte

是否有一个函数可以从
coeftest
对象中提取两列或更多列?这很容易一次创建一个
coeftest
对象,但是我可以对列表(而不是
for()
循环)执行同样的操作吗


我不确定这是否是你想要的,但是:

> do.call("rbind", cts)[, 1:2]
                 Estimate  Std. Error
(Intercept)  4.8200993881 0.142381642
b           -0.0421189130 0.092620363
(Intercept)  4.7459340076 0.206372906
c            0.0005770324 0.003547885

[[
在这种情况下是错误的子集函数。请注意,当您对列表执行
lappy()
操作时,所操作的是列表的组件,使用
list[[i]]
获得的位是第i个组件

因此,在
lappy()
调用中,您只需要
[,1:2]
位的
cts[[1]][,1:2]
。由于
[
的参数,这有点棘手,但使用
lappy()
很容易做到:


请注意
之前的
;这相当于
[,1:2]

,如果您提供了所需的结果,可能更容易回答。@kohske--很好的呼叫。谢谢。@Kohkse--谢谢!正确回答了不同的问题(我在提供所需的输出时很慢),但这是以后的一个好工具。
    [[1]]
              Estimate Std. Error
(Intercept)  5.0314196  0.1333705
b           -0.1039264  0.0987044

[[2]]
                Estimate  Std. Error
(Intercept)  5.312007153 0.199485363
c           -0.007378529 0.003429477
> do.call("rbind", cts)[, 1:2]
                 Estimate  Std. Error
(Intercept)  4.8200993881 0.142381642
b           -0.0421189130 0.092620363
(Intercept)  4.7459340076 0.206372906
c            0.0005770324 0.003547885
> lapply(cts, `[`, , 1:2)
[[1]]
                Estimate Std. Error
(Intercept)  4.926679544  0.1549482
b           -0.001967657  0.1062437

[[2]]
               Estimate  Std. Error
(Intercept) 4.849041327 0.204342067
c           0.001494454 0.003512972