gpt4 book ai didi

r - 如何将transmute与grep功能结合起来?

转载 作者:行者123 更新时间:2023-12-03 20:04:39 26 4
gpt4 key购买 nike

我正在尝试找到一种使用 rowSums() 创建带有变量的新表的方法。来自现有数据帧的函数。例如,我现有的数据框名为 'asn'我想总结变量标题中包含“2011”的所有变量的每一行的值。我想要一个只包含一个名为 asn_y2011 的列的新表其中包含使用包含“2011”的变量的每行的总和
数据

structure(list(row = 1:3, south_2010 = c(1L, 5L, 7L), south_2011 = c(4L, 
0L, 4L), south_2012 = c(5L, 8L, 6L), north_2010 = c(3L, 4L, 1L
), north_2011 = c(2L, 6L, 0L), north_2012 = c(1L, 1L, 2L)), class = "data.frame", row.names = c(NA,
-3L))
现有 'asn'数据框看起来像这样
row south_2010 south_2011 south_2012 north_2010 north_2011 north_2012
1 1 4 5 3 2 1
2 5 0 8 4 6 1
3 7 4 6 1 0 2
我正在尝试使用以下功能:
asn %>%   
transmute(asn_y2011 = rowSums(, grep("2011")))
得到这样的东西
row    asn_y2011
1 6
2 6
3 4

最佳答案

继续使用您的代码,grep()应该像这样工作:

library(dplyr)

asn %>%
transmute(row, asn_y2011 = rowSums(.[grep("2011", names(.))]))

# row asn_y2011
# 1 1 6
# 2 2 6
# 3 3 4
或者您可以使用 整齐的选择c_across() :
asn %>%
rowwise() %>%
transmute(row, asn_y2011 = sum(c_across(contains("2011")))) %>%
ungroup()

关于r - 如何将transmute与grep功能结合起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63343182/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com