什么时候必须在R

时间:2016-03-03 12:26:47

标签: r coding-style variable-assignment

这个问题困扰着我和我的学生多年,我现在意识到其他人一直在问同样的问题。我推荐<-作业的库存回复(例如在我的Introduction to Visualising Spatial Data in R中)就是“这是R开发人员使用的,我们信任他们”。

但是,当着名的R开发人员Yihui Xie advocates =时,我不再确定。

这是一个充分的理由吗?到目前为止我看到赞成<-的最好理由是“数学家会被x = x + 1混淆,而不会x <- x + 1”。很公平,但我认识的大多数数学家也可以理解使用=进行分配的程序。 (参考:此处的评论http://alyssafrazee.com/introducing-R.html

另一个原因是=用于函数中的参数,因此<-应该在函数调用中使用。但=失败的确切背景是什么?在真正需要的情况下保留<- / ->没有优势,例如:

在一个功能中:

system.time(x <- rnorm(10e6)) 
system.time(x = rnorm(10e6)) # error
system.time({x = rnorm(10e6)}) # no error

右手任务:

library("dplyr")
data_frame(x = 1:26, y = letters) %>% 
  filter(x %% 3 == 0) %>% 
  top_n(n = 3, wt = x) -> df
df

0 个答案:

没有答案