如何从其他列值的乘法中减去特定列

问题描述 投票:0回答:0

我有一个类似于

的数据框
                 corr1=c(1.1, 1.2, 1.3,1.4),
                 corr2=c(NA, 0.8, NA ,NA),
                 corr3=c(NA, 0.3, NA, NA),
                 corr4=c(NA, NA, 0.7,NA),
                 Area=c(5000, 2000, 3000, 4000))
corr1 <- df$corr1
corr2 <- df$corr2
corr3 <- df$corr3
corr4 <- df$corr4
df<-df %>% mutate_at(vars(starts_with("Area")), list(Icor=~.* corr1))

我想在C和D行进一步计算,添加两列 对于 C 行,添加一个新列,其值为 Icorr1=C行的Icor-(B行的corr2*B行的面积),即 =3900-(0.8 * 2000) 对于 D 行,添加一个新列,其值为 Icorr2=D行的Icor-(B行的corr3*B行的面积)-(C行的corr4*C行的面积),即 5600-(0.3 * 2000)-(0.7 * 3000) `

dplyr tidyverse data-wrangling tidy mutate
© www.soinside.com 2019 - 2024. All rights reserved.