【问题标题】:How to perform calculations on a dataset CSV file?如何对数据集 CSV 文件执行计算?
【发布时间】:2021-03-12 03:38:51
【问题描述】:

所以我使用 read.csv 加载了一个 CSV 文件,如下所示:

data <- read.csv(file = 'data.csv', header=TRUE)

加载为:

label id length strength weakness 
 a    1    2        3        2    
 a    2    3        2        4    
 a    3    4        2        9    
 a    4    7        6        3    

如何逐行对列执行一些简单的计算?

例如,我希望仅对 a(1) 而不是 a(2) 或 a(3) 的强度 + 弱点/长度求和,因此每个都作为各自行的单独计算完成。

如果为它添加一个新列会更容易,那么这也可以,但也可以只打印值。我是 R 新手,我尝试了一些简单的 rowSum/colSum 组合,但我似乎无法计算出两列的总和,但仅适用于相应的行,而不是同时适用于所有标签/id。

感谢任何帮助:)

【问题讨论】:

    标签: r csv sum calculation


    【解决方案1】:

    您可以subset计算所需的数据:

    with(subset(data, label == 'a' & id == 1), strength + weakness / length)
    

    这将仅对 label = 'a'id = 1 所在的行执行计算。

    如果要将结果写入新列,我们可以将条件放入ifelse

    transform(data, new_col = ifelse(label == 'a' & id == 1, 
                               strength + weakness / length, NA))
    

    【讨论】:

    • 太完美了,谢谢!有没有办法将结果写入同一行中的新列?
    猜你喜欢
    • 2016-03-30
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-14
    • 2018-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多