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