【问题标题】:How to iterate through row values in a dataframe colunm In R如何在R中遍历数据框列中的行值
【发布时间】:2021-07-21 18:35:21
【问题描述】:

我有一张桌子

我想创建一个循环来打印 region_mu 字段中每个字符串中的行。例如,所有“VRO1”将返回所有 VR01 具有 region_mu 值的行,以及 VR02 和 VR03

【问题讨论】:

    标签: r loops for-loop


    【解决方案1】:

    我们可以使用split根据'region_mu'的唯一值将数据拆分成list的data.frames

    lst1 <- split(df1, df1$region_mu)
    

    可以使用$[[ 提取单个元素

    lst1$VR01
    

    如果它应该是一个for 循环

    un_region <- unique(df1$region_mu)
    out <- vector('list', length(un_region))
    names(out) <- un_region
    for(un1 in un_region) {
          tmp <- subset(df1, region_mu == un1)
          print(tmp)
          out[[un1]] <- tmp
    }
    

    【讨论】:

    • 我想要一个 for 循环,这样我就可以迭代这个过程
    • 谢谢,但它只返回第一个 "VR01" ,你知道为什么
    • @Oladapo 你之前说过要print。因此,我将更高效的代码更改为for 循环。 print 没有 return 任何东西。它只是打印。如果它没有打印其他值,请检查str(df1)
    • 我希望它返回 VRO1 、 VR02 的行...这样我就可以在代码的其他部分使用它
    • @Oladapo 您可能需要将输出存储在list 中。在第一行使用split 更容易。抱歉,我不确定你真正想要做什么
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-31
    • 2020-01-19
    • 2021-11-01
    • 2021-10-01
    • 2020-12-16
    • 2021-02-08
    相关资源
    最近更新 更多