【发布时间】:2021-08-02 10:25:06
【问题描述】:
假设我有一个如下所示的数据框。
dt = data.frame(a = rnorm(5), b = rnorm(5))
我想将一组列变量分配为向量。
colvec <- c("a","b")
所以对于向量中的这两列,我想动态地取那一列并创建一个同名的向量。
所以正常的做法是这样做......
a = dt$a
b = dt$b
但我想动态地执行此操作。有什么建议吗?
【问题讨论】:
-
不要那样做。充其量,这会使接下来的一切变得更加困难。
-
@Roland 你介意详细说明一下吗?
-
@tmfmnk 如果您想使用动态名称创建这些向量,接下来的逻辑步骤包括以编程方式引用它们。这会导致非常麻烦的
get/assign构造。而且,完全没有必要。引用 data.frame 列,甚至遍历 data.frame 列要容易得多。或者,您也可以只使用固定名称而不是动态名称。没有正当理由在全局环境中使用动态名称创建向量。 -
@Roland 我完全同意你的看法。我只是好奇是否有我不知道的原因。
标签: r