mpg 的中位数是 19.2。
在下一行中,我想将此信息(例如“19.2”)添加到新的变异列名称“median_dich”中。所以最后新的列名称应该是
median_dich19.2
。
我知道在这种特殊情况之外该怎么做。 我的问题是直接获取中值并将其粘贴到新的变异列名称中?
到目前为止我尝试过的:
#TRY 1
library(dplyr)
mtcars %>%
mutate(median_mpg = median(mpg)) %>%
mutate(glue("median_dich{median_mpg}") = ifelse(mpg > median_mpg, 1, 0))
#TRY 2
library(dplyr)
library(rlang)
mtcars %>%
mutate(median_mpg = median(mpg)) %>%
mutate(!!paste0("median_dich_", median_mpg) := ifelse(mpg > median_mpg, 1, 0))
#TRY 3
library(dplyr)
library(rlang)
library(glue)
mtcars %>%
mutate(median_mpg = median(mpg)) %>%
mutate(!!sym(glue("median_dich_{median_mpg}")) := ifelse(mpg > median_mpg, 1, 0))
很复杂,但这满足您的需求吗?
library(dplyr)
library(tidyr)
library(tibble)
mtcars %>%
mutate(temp = rownames(.),
median_mpg = median(mpg),
median_dich = ifelse(mpg > median_mpg, 1, 0)) %>%
pivot_longer(median_dich) %>%
mutate(name = paste0(name, median_mpg)) %>%
pivot_wider(names_from = name,
values_from = value) %>%
column_to_rownames("temp")