【问题标题】:How to scale up a transmute in tidyverse?如何在 tidyverse 中扩大转化?
【发布时间】:2023-01-07 02:41:04
【问题描述】:

我有很多这样组织的变量:

tibble(
  A = rep("A",10),
  xyz1 = rnorm(10),
  xyz2 = rnorm(10),
  xyz3 = rnorm(10),
  abc1 = rnorm(10),
  abc2 = rnorm(10),
  abb3 = rnorm(10),
  acc4 = rnorm(10)
)

其中 xyzabc 等是占位符。在占位符之后有一个数字。 在我的文章中,这个数字可以是任何整数。

我要根据公式trasmute

xyzn = xyzn - 'xyzn-1',其中n 是计数整数的符号。

'xyzn-1'不存在,结果可以忽略不加入transmute

【问题讨论】:

  • 如果 xyz2 = 4 且 xyz1 = 3,则在转换后 xyz2 = 1 且 xyz1 = NA
  • acc4 会是什么?
  • 而 'xyzn-1' 不存在,结果可以忽略不加入转化。我的意思是,如果结果是 NA 列不是问题,因为它可以稍后删除。
  • 有一些混乱。你想回acc = NA

标签: r tidyverse tidyselect


【解决方案1】:

也许这有帮助

library(dplyr)
 df1 %>%
    transmute(across(where(is.numeric),
      ~ .x - readr::parse_number(cur_column())))

【讨论】:

    猜你喜欢
    • 2017-03-11
    • 2018-09-30
    • 2018-04-17
    • 2021-03-08
    • 1970-01-01
    • 2021-10-26
    • 2013-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多