【问题标题】:Divide by a certain position in R除以R中的某个位置
【发布时间】:2022-08-19 01:59:36
【问题描述】:

我有几个系列,每个系列都表示每个国家 GDP 的平减指数。 (下面附上数据)

所以我想要做的是将每一列划分为第 97 个位置。

我知道这对你来说可能很简单,但我很挣扎。

到目前为止,这是我的代码:

d_data <- d_data  %>% 
  mutate_if(is.numeric, function(x) x/d_data[[97,x]])

正如您在数据中看到的,从第 3 列到第 8 列的数据是数字。

我认为错误在于函数的参数 x 指的是列名,而在d_data 中,第二个参数指的是列位置,这是主要问题。

我该如何解决这个问题?提前致谢!!

数据


数据量很大(745 行,8 列)

所以我上传了dput(d_data) 输出here

    标签: r dataframe function indexing dplyr


    【解决方案1】:

    mutateacross 一起使用,因为_at/_all 已弃用

    library(dplyr)
    d_data  %>% 
         mutate(across(where(is.numeric), ~ .x/nth(.x, 97)))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-22
      • 1970-01-01
      • 2018-01-01
      • 1970-01-01
      • 2014-11-23
      • 1970-01-01
      相关资源
      最近更新 更多