首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当第一个变量不是数字时,如何在DPLYR中添加包含行合计的列?

在DPLYR中,可以使用mutate()函数来添加包含行合计的列。当第一个变量不是数字时,可以使用summarise()函数来计算行合计,并将其添加为新的列。

以下是一个示例代码:

代码语言:txt
复制
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()函数输出结果。

请注意,这只是一个示例代码,具体的实现方式可能因数据结构和需求而有所不同。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券