gpt4 book ai didi

r - dplyr:创建一个新变量作为所有现有变量的函数,而不定义它们的名称

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

在以下数据框中,我想创建一个新变量作为所有现有变量的以下函数:

as.numeric(paste0(df[i,],collapse=""))

但是,我不想明确定义列名称,因为它们的编号和名称每次可能都不同。我怎样才能使用 dplyr 做到这一点?

基数 r 中的等价物将是这样的:
apply(df,1,function(x) as.numeric(paste0(x,collapse="")))


df <- structure(list(X1 = c(50, 2, 2, 50, 5, 5, 2, 50, 5, 5, 50, 2,
5, 5, 50, 2, 2, 50, 9, 9, 9, 9, 9, 9), X2 = c(2, 50, 5, 5, 50,
2, 5, 5, 50, 2, 2, 50, 9, 9, 9, 9, 9, 9, 50, 2, 2, 50, 5, 5),
X3 = c(5, 5, 50, 2, 2, 50, 9, 9, 9, 9, 9, 9, 50, 2, 2, 50,
5, 5, 2, 50, 5, 5, 50, 2), X4 = c(9, 9, 9, 9, 9, 9, 50, 2,
2, 50, 5, 5, 2, 50, 5, 5, 50, 2, 5, 5, 50, 2, 2, 50)), class = "data.frame", .Names = c("X1",
"X2", "X3", "X4"), row.names = c(NA, -24L))

最佳答案

你可以试试:

df %>% mutate(newcol=as.numeric(do.call(paste0,df)))

或者(正如你所建议的,也许更多 dplyr 风格):
df %>% mutate(newcol=as.numeric(do.call(paste0,.)))

关于r - dplyr:创建一个新变量作为所有现有变量的函数,而不定义它们的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30545285/

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