问题标签 [do.call]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - R:一次调用生成多个数字序列
我有 2 个整数值向量。
我想生成从头到尾的数字序列,以便从 1 到 1、2 到 11、3 到 21 等有 10 个序列。
我可以使用 for() 循环轻松地做到这一点,因为我认为会有更优雅和更快的东西。do.call()
似乎没有这样做,因为它抱怨:
最好的方法是什么?
r - R do.call 函数中的错误
当我逐行运行以下代码时,一切都很好,除非光标转到 do.call。
错误是
在控制台中浏览与具有代码的源查看器一起打开:
请帮助解决此问题。
r - 将 data.frames 列表加入单个 data.frame
我猜我还不够聪明,无法理解列表...假设我有一个数据df
框:
我想在它之后加入其他数据框的列表:df2 <- lapply(2:3, function(x) data.frame(id=x, data=runif(3)))
正如stackexchange 已经append()
指出的那样,这很容易与. 但是:我的第一个数据框现在都搞砸了……我在这里做错了什么?
因此,我无法rbind()
将列表放入单个 df 中,而且我很困惑。指针将不胜感激!
非常感谢!
r - 如何使用 do.call 计算 R 中 data.frame 的平均值?
我知道,我可以使用sapply
and colMeans
torowMeans
作为 data.frame 的平均值。但是现在,我正在学习do.call
并想尝试使用do.call()
.
我尝试了不同的方法来做到这一点,但我无法得到我想要的结果。
例如,我想从以下获得相同的结果sapply
:
所以我用不同的方式用 do.call() 尝试了这个,都告诉我错了!
你知道怎么用 do.call 来做吗?
r - R - 提高 do.call / 按功能的速度
我对 *apply 系列函数已经相当熟悉了,而且我最近学会了do.call("rbind", by(...
使用tapply
. 我正在处理一个大型数据集(Compustat),并且我有一个函数(见下文),它生成一个新的滞后变量列,我稍后将其附加到主数据框df
。
我的问题是它非常慢。我创建了大约两打滞后变量,这个函数中的处理大约需要 1.5 小时,因为数据集中有 350,000 多个公司年的观测值。
任何人都可以在不丢失我认为理想的方面的情况下帮助提高此功能的速度:
然后,我在命令中分别为要为其生成滞后序列的每个变量调用此函数(这里我以该ni
变量为例):
其中gvkey
是特定公司的 ID 号,datadate
是 8 位整数,形式为YYYYMMDD
。
当我使用更简单的函数时,这种方法要快得多:
连同tapply
类似的命令
如您所见,主要区别在于该tapply
方法不包含任何datadate
信息,因此该函数假定所有数据都是连续的(即,数据框中没有丢失年份)。因为我知道缺少年份,所以我构建了do.call
-by
函数来解决这个问题。
一些注意事项:
1)order
函数中的第一个命令可能是不必要的,因为我的数据是预先排序的(例如gvkey
)。但是,当我使用这样的函数式编程时,我总是有点担心会弄乱我的行顺序。这是没有根据的恐惧吗?datadate
df <- df[order(df$gvkey, df$datadate), ]
R
2)确定是什么减慢了处理速度将非常有帮助。是变量的重命名吗?在函数中创建一个新的数据框?还是do.call
withby
通常(很多)比 慢tapply
?
谢谢!
r - 使用函数的字符名称和参数作为字符向量将函数应用于 data.table
我想通过 data.table 上的字符名称调用函数。每个函数还有一个参数向量(因此有一长串函数可应用于 data.table)。参数是 data.table 列。我的第一个想法是 do.call 将是该任务的好方法。这是一个简单的示例,其中运行一个函数名称,它是要传递的列向量:
我对此并不满意,因为它需要专门命名每一列。我想只传递一个字符向量mycols
。
在这种情况下,我需要的其他解决方案是:
但是自定义函数有一个小问题,唯一适合我的解决方案是第一个:
据我了解,它假定 myfunc 具有y, z
不正确的参数。应该有y,z
应该传递给 arguments 的变量arg1, arg2
。
我也尝试了 mget 功能,但也没有成功:
我可能会遗漏一些相当明显的东西,在此先感谢您的任何指导。
r - do.call 在函数中 - 找不到对象错误
我试图制作自己的函数,该函数将使用 ggplot 并排绘制许多图,并将数据框列表作为参数。但是,我遇到了这个错误,据我所知,这与 do.call 函数和环境问题有关:
但是,我收到以下错误:
不在函数中时,一切运行顺利。但是当我尝试在我自己的函数中使用 do.call 函数时,会发生一些事情(使用 eval(parse) 时我会遇到同样的错误)。
r - 为什么 rbind() 和 do.call(rbind, ) 返回不同的结果?
我想使用以下代码将列表转换为数据框:
添加do.call得到的结果如下图。它根据需要返回一个data.frame
对象。
但是,如果我直接使用rbind
,它会返回一个列表。
为什么rbind
在这两种情况下表现不同?
r - 将变量列出到各个 data.frames
假设我有list
30 个data.frames
,每个包含 2 个变量(称为value和rank),称为myList
我知道我可以使用
创建my.DF
包含彼此相邻的所有变量的输出。
可以将cbind
每个变量单独放入它自己的变量中,即只有第二个变量data.frame
的新变量?data.frame
r - 循环线性回归并保存所有系数
基于下面的链接,我创建了一个代码来基于变量对我的数据子集运行回归。
在这个例子中,我创建了一个 DUMMY(0 或 1)来创建子集(实际上我有 3000 个子集)
这导致以下数据集
但是,我想要的是每个回归一行,以及列中的变量。我还需要包含 p 值和标准错误。
知道怎么做吗?