我正在嘗試創建一個命名向量,其中名稱根據回圈或地圖的變數而變化。像這樣的東西:
for (i in 1:5) {
named_vector <- c(
str_c("variable_A_", i) = i,
str_c("variable_B_", i) = i,
str_c("variable_C_", i) = i
)
}
但我收到以下錯誤:
Error: unexpected '=' in:
" named_vector <- c(
str_c("variable_A_", i) ="
我知道你可以使用 assign() 函式:
for (i in 1:5) {
named_vector <- c(
assign(str_c("variable_A_", i), i),
assign(str_c("variable_B_", i), i),
assign(str_c("variable_C_", i), i)
)
}
但如果我這樣做,我會丟失 name 屬性,我真的需要mutate(data, recode(column, !!!named_vector))稍后再做。
謝謝
uj5u.com熱心網友回復:
你需要這樣的東西嗎?
named_vector <- setNames(rep(1:5, each = 3),
paste0('variable_',
outer(c('A', 'B', 'C'), 1:5, paste, sep = '_')))
named_vector
#variable_A_1 variable_B_1 variable_C_1 variable_A_2 variable_B_2 variable_C_2
# 1 1 1 2 2 2
#variable_A_3 variable_B_3 variable_C_3 variable_A_4 variable_B_4 variable_C_4
# 3 3 3 4 4 4
#variable_A_5 variable_B_5 variable_C_5
# 5 5 5
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/488469.html
