首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从r中的多列派生多列

从r中的多列派生多列
EN

Stack Overflow用户
提问于 2022-01-19 20:44:02
回答 1查看 32关注 0票数 0

假设我们有以下数据,并希望从z1、z2、z3、x1_y1、x2_y2和x3*y3派生变量。

你能帮我在R上实现这一点吗?

代码语言:javascript
复制
x1 <- c(1,2,3,4,5,6)
x2 <- c(2,3,4,5,6,7)
x3 <- c(3,4,5,6,7,8)
x4 <- c('A','B','C','D','E','F')
y1 <- c(1,2,3,4,5,6)
y2 <- c(2,3,4,5,6,7)
y3 <- c(3,4,5,6,7,8)

testa <- data.frame(x1,x2,x3,x4,y1,y2,y3)

EN

回答 1

Stack Overflow用户

发布于 2022-01-19 20:57:04

如果我们想要自动完成此操作,tidyverse选项是

代码语言:javascript
复制
library(dplyr)
library(stringr)
testa <- testa %>% 
   mutate(across(x1:x3,  ~ .x * get(str_replace(cur_column(), "x",
        "y")), .names = "{str_replace(.col, 'x', 'z')}"))

-output

代码语言:javascript
复制
testa
  x1 x2 x3 x4 y1 y2 y3 z1 z2 z3
1  1  2  3  A  1  2  3  1  4  9
2  2  3  4  B  2  3  4  4  9 16
3  3  4  5  C  3  4  5  9 16 25
4  4  5  6  D  4  5  6 16 25 36
5  5  6  7  E  5  6  7 25 36 49
6  6  7  8  F  6  7  8 36 49 64
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70777506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档