假設我在 R 中有以下物件:
QXX_my_vector <- "c(\"Element 1\", \"Element 2\", \"Element 3\", \"Element 4\")"
我想把它變成一個真正的包含四個元素的字符向量。
我可以通過eval(parse(text = QXX_my_vector))它來做到這一點:
# [1] "Element 1" "Element 2" "Element 3" "Element 4"
我的問題/問題是:我想將文本元素動態傳遞到決議函式中,即:
question_stem = "QXX"
eval(parse(text = paste0(question_stem, "_my_vector")))
但是,這給出了:
# [1] "c(\"Element 1\", \"Element 2\", \"Element 3\", \"Element 3\")"
我還嘗試將該paste0部分包裝到一個sym函式中,但這給出了相同的結果。
有任何想法嗎?
uj5u.com熱心網友回復:
您必須使用get來獲取具有給定名稱的物件。
eval(parse(text = get(paste0(question_stem, "_my_vector"))))
#[1] "Element 1" "Element 2" "Element 3" "Element 4
uj5u.com熱心網友回復:
我們可以使用 str_extract
library(stringr)
str_extract_all(get(paste0(question_stem, "_my_vector")), '(?<=")[^",)] ')[[1]]
[1] "Element 1" "Element 2" "Element 3" "Element 4"
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/314418.html
