我知道“指针”不是正确的术语,但我希望它足够接近。我有以下代码:
> attach(iris)
> iris$x <-0
> x
Error: object 'x' not found
似乎在 attach() 之后,R 为每个变量创建了一个对象。但是在我通过直接访问数据集创建新变量后,没有为该变量创建新对象。
如果我希望 R 也为它创建一个新对象,我应该如何为 iris 创建一个新变量?
更新:我知道很多 R 的老手建议不要使用 attach()。但是我需要进行大量的数据操作(数百个新变量),并且按顺序对每个人调用 transform(df,) 会非常麻烦。是否可以在 R 中执行类似于 SAS 数据步的操作,在一个数据步中,您可以创建一个变量并在之后立即引用它:
data A;
set A;
varA = varB > 1;
varC = var A + varB;
....
run;
更新 2:我能想到的一种方法是使用attach()
,然后创建数百个数组,然后再创建cbind
它们,detach()
谢谢。