许多介绍 R 的书籍和指南都是从附加一个 R 语言的实践开始的。data.frame
这样您就可以通过名称调用变量。我一直发现用以下方式调用变量是有利的$
符号或方括号切片[,2]
。这样我就可以使用多个data.frame
s 而不混淆它们和/或使用迭代来连续调用感兴趣的列。我注意到 Google 最近发布了R 的编码指南 http://google-styleguide.googlecode.com/svn/trunk/google-r-style.html其中包括该行
1)attach:避免使用它
人们对这种做法有何感想?
我从不使用附加。with
and within
是你的朋友。
示例代码:
> N <- 3
> df <- data.frame(x1=rnorm(N),x2=runif(N))
> df$y <- with(df,{
x1+x2
})
> df
x1 x2 y
1 -0.8943125 0.24298534 -0.6513271
2 -0.9384312 0.01460008 -0.9238312
3 -0.7159518 0.34618060 -0.3697712
>
> df <- within(df,{
x1.sq <- x1^2
x2.sq <- x2^2
y <- x1.sq+x2.sq
x1 <- x2 <- NULL
})
> df
y x2.sq x1.sq
1 0.8588367 0.0590418774 0.7997948
2 0.8808663 0.0002131623 0.8806532
3 0.6324280 0.1198410071 0.5125870
编辑:哈德利在评论中提到了转换。这是一些代码:
> transform(df, xtot=x1.sq+x2.sq, y=NULL)
x2.sq x1.sq xtot
1 0.41557079 0.021393571 0.43696436
2 0.57716487 0.266325959 0.84349083
3 0.04935442 0.004226069 0.05358049
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)