【问题标题】:Refering to columns of a dataframe that have almost the same name inside a loop in r引用在 r 中的循环内具有几乎相同名称的数据框的列
【发布时间】:2021-08-08 04:46:55
【问题描述】:

我只是 R 的初学者,我正在使用以下非常简单的设置。我的数据框有 10 个标记为 x.1、x.2、...、x.10 的变量和 100 个观察值。

我需要像这样对这些变量和观察结果运行一个循环

   T<- 10
   N <- 100 
for(j in 1:T){
for(i in 1:N){
df1$x.j[*some condition over i*] = def2$y[*some condition over i*]
}
}

我唯一需要知道的是如何让 R 理解当j = 2(比如说)在这个循环中,df1$x.j = df1$x.2 等等直到T=10

提前致谢。

【问题讨论】:

  • 请提供可重现的示例和您的数据。你可以粘贴 dput(your_dataframe)

标签: r loops indexing


【解决方案1】:

生成列名有两种方法

  1. 使用grep查找相关列

cols &lt;- grep("^x\\.", names(col), value = TRUE)

  1. 使用paste 生成列

cols &lt;- paste("x", 1:10, sep = ".")

获得列名后,您可以使用df[[colname]] 访问特定列。您可以通过df[[colname]][observation_index] 索引特定观察。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多