2012-07-10 45 views
1

对于一个研究项目,我有一段相当大的代码块需要很长时间才能运行。需要缩短该程序运行所需的时间,因此请运行profr查看哪些功能最耗时。事情是,我不明白这个符号。有人可以向我解释,或者指给我一个解释这些意思的资源:R语言:括号表示法

[<-.data.frame 
[[.data.frame 
[<- 
[ 
[.factor 
[.data.frame 
[<-factor 

?我意识到它们必须是R中的某种内部组件,用于创建新的和子集的数据框,我只是不知道它是哪一个。

谢谢。

+0

'[<-'是分配新建分配FY到索引值,与目标是什么简单,如向量中的项目。 '[< - 。data.frame'被分配给数据框内的一个位置。 – 2012-07-10 19:26:12

回答

4

"R for Dummies" cheet sheat报价:

子集[R对象

载体,列表和数据帧在代表中的R 数据发挥了重要的作用,所以能够简洁和正确指定您的数据的子集 很重要。

您可以使用三大运营商子集数据:

  • [[:通过名称或位置从列表或数据帧中抽取单个元素。例如,iris[["Sepal.Length"]]从数据帧虹膜中提取列Sepal.Length; iris[[2]]从虹膜提取第二个元素。

  • [:从矢量,数组,列表或数据框中提取多个元素。例如,iris[, c("Sepal.Length", "Species")]从虹膜中提取列Sepal.LengthSpecies; iris[1:10, ]从虹膜中提取前十行;和iris[1:10, "Species"]从虹膜中提取列物种的前十个元素。


您可以在?Extract相同的信息虽然没有很好地总结;-)


我的猜测是,你分析的问题是与[<-,因为我知道这是一个缓慢的操作。您可能有一个循环,将多个[<-列分配到数据框中。你可以使这个基本上更快地:

  • 制作多列
  • 的单个分配使用包data.table
+0

不知道data.table,非常感谢! – 2012-07-11 15:02:29