首页 > 解决方案 > 如何对数据集 CSV 文件执行计算?

问题描述

所以我有一个使用 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。

感谢任何帮助:)

标签: rcsvsumcalculation

解决方案


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

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

这将仅对 wherelabel = 'a'和的行执行计算id = 1

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

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

推荐阅读