对于一个研究项目,我有一个相对较大的代码块,需要花费很长时间才能运行。需要缩短运行此程序所需的时间,因此请运行profr来查看占用最多时间的函数。事情是,我不明白这个符号。有人可以向我解释,或者指出一个解释这些含义的资源:
[<-.data.frame
[[.data.frame
[<-
[
[.factor
[.data.frame
[<-factor
?我意识到它们必须是R中用于创建新的和子集化数据帧的某种内部结构,我只是不知道哪个。
感谢。
答案 0 :(得分:4)
引用"R for Dummies" cheet sheat:
子集R对象
向量,列表和数据框在表示中起着重要作用 R中的数据,因此能够简洁而正确地指定子集 您的数据很重要。
您可以使用三个运算符对数据进行分组:
[[
:从列表或数据框中按名称或位置提取单个元素。例如,iris[["Sepal.Length"]]
从数据框iris中提取列Sepal.Length
; iris[[2]]
从虹膜中提取第二个元素。
[
:从矢量,数组,列表或数据框中提取多个元素。例如,iris[, c("Sepal.Length", "Species")]
从鸢尾中提取列Sepal.Length
和Species
; iris[1:10, ]
从虹膜中提取前十行;并且iris[1:10, "Species"]
从虹膜中提取列物种的前十个元素。
您可以在?Extract
中找到相同的信息,但不能很好地总结; - )
我的猜测是你的分析问题是[<-
,因为我知道这是一个缓慢的操作。您可能有一个循环,在数据框中有多个[<-
列分配。你可以通过以下方式大大加快这一步骤:
data.table