在DPLYR中,可以使用mutate()函数来添加包含行合计的列。当第一个变量不是数字时,可以使用summarise()函数来计算行合计,并将其添加为新的列。
以下是一个示例代码:
library(dplyr)
# 创建一个示例数据框
df <- data.frame(
var1 = c("A", "B", "C"),
var2 = c(10, 20, 30),
var3 = c(5, 10, 15)
)
# 添加包含行合计的列
df <- df %>%
mutate(total = ifelse(is.numeric(var1), var2 + var3, NA)) %>%
summarise(across(everything(), ~ifelse(is.numeric(.), sum(.), first(.))))
# 输出结果
print(df)
在上述代码中,首先使用mutate()函数来添加一个名为total的新列。在这个例子中,我们使用ifelse()函数来判断第一个变量var1是否是数字,如果是数字,则将var2和var3相加作为行合计,否则将值设为NA。
接下来,使用summarise()函数来计算每一列的行合计。通过使用across()函数和everything()参数,我们可以对所有列应用相同的操作。在这个例子中,我们使用ifelse()函数来判断每一列是否是数字,如果是数字,则计算该列的总和,否则保留第一个值。
最后,使用print()函数输出结果。
请注意,这只是一个示例代码,具体的实现方式可能因数据结构和需求而有所不同。
领取专属 10元无门槛券
手把手带您无忧上云