0
我想在data.frame
上使用mutate()
,我已經使用gather()
創建一個變量,其值爲label()
用於收集的variable
。我搜索了Google和StackOverflow,但沒有找到合適的答案。我的研究使我認爲可能需要標準評估。如何用mutate()創建一個變量值等於給定變量的標籤的變量?
這裏是一個最小的可再現例如:
# Packages
library(dplyr)
library(Hmisc)
library(tidyr)
library(lazyeval)
df <- mtcars %>%
tbl_df() %>%
slice(1)
label(df$mpg) <- "Miles per gallon"
label(df$cyl) <- "Cylinders"
df %>%
select(mpg, cyl) %>%
gather(variable, value) %>%
mutate_(.dots = interp(~attr(df$x, "label"), x = variable))
此代碼生成:
# A tibble: 2 × 3
variable value `attr(df$mpg, "label")`
<chr> <dbl> <chr>
1 mpg 21 Miles per gallon
2 cyl 6 Miles per gallon
這顯然是隻得到的標籤mpg
。
我的目標是有類似:
# A tibble: 2 × 3
variable value `attr(df$variable, "label")`
<chr> <dbl> <chr>
1 mpg 21 Miles per gallon
2 cyl 6 Cylinders
哇。非常感謝。 #facepalm –