在R中使用粘贴跨调用的列应用mutate
我想在dplyr中使用mutate跨数据帧中的列应用一个函数。我想引用使用粘贴的列 以下是示例数据,但实际数据集有许多列构成粘贴功能键:在R中使用粘贴跨调用的列应用mutate,r,R,我想在dplyr中使用mutate跨数据帧中的列应用一个函数。我想引用使用粘贴的列 以下是示例数据,但实际数据集有许多列构成粘贴功能键: data <- data.frame(var1 = c(1:4), var2 = (5:8)) data var1 var2 1 1 5 2 2 6 3 3 7 4 4 8 在这里,我们不需要一个行,因为行和会更有效 library(dplyr) data %>% mutate(to
data <- data.frame(var1 = c(1:4), var2 = (5:8))
data
var1 var2
1 1 5
2 2 6
3 3 7
4 4 8
在这里,我们不需要一个
行
,因为行和
会更有效
library(dplyr)
data %>%
mutate(total = rowSums(.))
或者对于列的子集(使用粘贴
),我们选择它们并使用行和
data %>%
mutate(total = select(., paste0('var', 1:2)) %>%
rowSums)
如果我们需要使用列名,请选择c_中跨
的数据集列,并获取总和
(在行后
)
或者使用paste
在c\u中选择跨
data %>%
rowwise %>%
mutate(total = sum(c_across(paste0('var', 1:2)))) %>%
ungroup
# A tibble: 4 x 3
# var1 var2 total
# <int> <int> <int>
#1 1 5 6
#2 2 6 8
#3 3 7 10
#4 4 8 12
在这里,我们不需要一个行
,因为行和
会更有效
library(dplyr)
data %>%
mutate(total = rowSums(.))
或者对于列的子集(使用粘贴
),我们选择它们并使用行和
data %>%
mutate(total = select(., paste0('var', 1:2)) %>%
rowSums)
如果我们需要使用列名,请选择c_中跨
的数据集列,并获取总和
(在行后
)
或者使用paste
在c\u中选择跨
data %>%
rowwise %>%
mutate(total = sum(c_across(paste0('var', 1:2)))) %>%
ungroup
# A tibble: 4 x 3
# var1 var2 total
# <int> <int> <int>
#1 1 5 6
#2 2 6 8
#3 3 7 10
#4 4 8 12
太棒了,谢谢你!我应该在头撞到这几个小时之前问一下太棒了,谢谢你!我应该在头撞到这几个小时之前问一下
data %>%
rowwise %>%
mutate(total = sum(c_across(paste0('var', 1:2)))) %>%
ungroup
# A tibble: 4 x 3
# var1 var2 total
# <int> <int> <int>
#1 1 5 6
#2 2 6 8
#3 3 7 10
#4 4 8 12
data %>%
rowwise %>%
mutate(totall = sum(cur_data()[paste0('var', 1:2)])) %>%
ungroup
# A tibble: 4 x 3
# var1 var2 totall
# <int> <int> <int>
#1 1 5 6
#2 2 6 8
#3 3 7 10
#4 4 8 12