gelu0 现在我要建a1到a100共100个变量每个变量都是rep(1,times=100) 能否用循环给这100个变量赋值? 比如 for(i in 1:100) a"i"<-rep(1,times=100) 这个循环可否写?该怎么写?
bayes assign(x, value, pos = -1, envir = as.environment(pos), inherits = FALSE, immediate = TRUE) x=paste("a",c(0:100),sep="") value=。。。。。 然后直接用value
yanlinlin82 一组类似的变量,如果使用变量名的差别来区分,而不是使用下标,那其实就是把这些变量孤立起来了,而没把他们当成“一组”,这时是不容易使用循环或apply语句等直接对它们进行统一操作的。虽然可以用paste生成变量名,再用assign、get或eval语句来使用变量,但很不直观,效率相对也低。所以说是写复杂了。谢老大给出的R代码定律,其实可以搜集起来,写一本《Effective R》,说不定也能像《Effective C++》那样流行甚至成为经典呢。
娟——水手 同意! 其实编出程序不是最重要的,关键是能够让程序执行的更有效,否则编程的意义也就丧失了。但是怎样才能优化程序肯定是需要大量编程实践经验的,所以如果高手们能把这些编程定律整理成册,再附以实例说明,肯定会火的!
yihui 我就是随便说说的,主要是想起来这一条:http://yihui.name/cn/2008/11/golden-rules-in-r-programming/ 所以把上面2楼的规则命名为定律2 [s:11]