gpt4 book ai didi

R中的行式矩阵运算

转载 作者:行者123 更新时间:2023-12-04 15:25:43 26 4
gpt4 key购买 nike

最近遇到了data.table包裹。
我仍然不确定如何进行逐行矩阵运算。
它最初是为了处理此类操作吗?
例如,data.table 相当于 apply(M,1,fun) ?
fun应该以一个向量作为参数,例如 mean , median , 或 mad .

最佳答案

我认为您正在寻找 :=运算符(见 ?':=')。一个简短的例子以及与 mapply 的比较函数如下(我希望我正确地应用了 mapply 函数;我现在只使用 data.tables,所以没有 promise ;但是,data.table 方式仍然很快,在我看来很容易记住):

library(data.table)
> df <- data.frame(ID = 1:1e6,
+ B = rnorm(1e6),
+ C = rnorm(1e6))
> system.time(x <- mapply(foo, df$B, df$C))
user system elapsed
4.32 0.04 4.38
> DT <- as.data.table(df)
> system.time(DT[, D := foo(B, C)])
user system elapsed
0.02 0.00 0.02
> all.equal(x, DT[, D])
[1] TRUE

发布我的答案后,我不太确定这是否是您正在寻找的内容。我希望它是,如果不是,请提供更多详细信息(例如,您是否有许多要应用函数的列,而不仅仅是我的示例中的两个列?)。无论如何,这个 SO post你可能会感兴趣。

关于R中的行式矩阵运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9564588/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com