如何在 data.frame 中引用 data.frame 的列?

2024-03-11

我有一个名为 series_to_plot.df 的 data.frame,它是通过将许多其他 data.frame 组合在一起创建的(如下所示)。我现在只想从每个列中提取 .mm 列,以便我可以绘制它们。所以我想拉出每个 data.frame 的第三列(例如 p3c3.mm、p3c4.mm 等...),但我不知道如何在不循环的情况下对对象中的所有 data.frame 执行此操作名字。这可能吗?

我只能拿出一套:例如series_to_plot.df[[3]] 和另一个 series_to_plot.df[[10]] (所以它只是一个向量列表..),我可以直接引用 series_to_plot.df$p3c3.mm,但是是否有一个命令可以获取包含每个数据中所有 mm 的向量。框架?我期待这样的索引能够工作:series_to_plot.df[3[3]] 但它返回错误[.data.frame(series_to_plot.df, , 3[3]) :选择了未定义的列

series_to_plot.df
          p3c3.rd         p3c3.day    p3c3.mm      p3c3.sd                 p3c3.n p3c3.noo p3c3.no_NAs
    1     2010-01-04             0    0.1702531    0.04003364              7                1           0
    2     2010-01-06             2    0.1790594    0.04696674              7                1           0
    3     2010-01-09             5    0.1720404    0.03801756              8                0           0

          p3c4.rd         p3c4.day    p3c4.mm      p3c4.sd                 p3c4.n p3c4.noo p3c4.no_NAs
    1     2010-01-04             0    0.1076581   0.006542157              6                2           0
    2     2010-01-06             2    0.1393447   0.066758781              7                1           0
    3     2010-01-09             5    0.2056846   0.047722862              7                1           0

          p3c5.rd         p3c5.day    p3c5.mm      p3c5.sd                 p3c5.n p3c5.noo p3c5.no_NAs
    1     2010-01-04             0   0.07987147   0.006508766              7                1           0
    2     2010-01-06             2   0.11496167   0.046478767              8                0           0
    3     2010-01-09             5   0.40326471   0.210217097              7                1           0

要获取具有指定名称的所有列,您可以执行以下操作:

names_with_mm <- grep("mm$", names(series_to_plot.df), value=TRUE)
series_to_plot.df[, names_with_mm]

但如果你的基地data.frame都有相同的结构,那么你可以rbind他们,比如:

series_to_plot.df <- rbind(
  cbind(name="p3c3", p3c3),
  cbind(name="p3c4", p3c4),
  cbind(name="p3c5", p3c5)
)

Then mm值在一列中,更容易绘制。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 data.frame 中引用 data.frame 的列? 的相关文章

随机推荐