R 中列表的变量引用元素

Fra*_*art 0 variables r list dataframe

我已经使用 R 多年了,我一直期待在某处偶然发现这个基本问题的答案,但不知何故我似乎无法在任何地方找到它。

如何使用变量来定位数据框或列表的元素?

我想出的最好的就是这个尴尬的阵型。

例如:

a=list(A=1:100, B=letters)
c=eval(parse(text="a$A"))
Run Code Online (Sandbox Code Playgroud)

如果我想检查 b 字符串的 A 元素是什么,我可以用“a”和“b”将 a 分出。同样,我想要一种简单的方法来将更改应用于 a 的元素。

Ric*_*ton 5

如果您的索引器是一个字符串,那么您可以这样做:

index <- "A"
a_list <- list(A=1:100, B=letters)
a_list[[index]]
Run Code Online (Sandbox Code Playgroud)

数据帧的情况类似;您可以选择两种语法。

a_data_frame <- data.frame(A = 1:26, B = letters)
a_data_frame[, index]
a_data_frame[[index]]
Run Code Online (Sandbox Code Playgroud)