问题标签 [plyr]
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 - 向量化 mle2 模型的应用
我已经编写了一个模型,我通过 mle2 包使用 ML 拟合数据。但是,我有一个大型样本数据框,我想将模型拟合到每个复制品,然后在数据框中检索模型的所有系数。
我试图在 plyr 包中使用 ddply 函数但没有成功。
尝试时收到以下错误消息:
有什么想法吗?
这是我正在做的一个例子。
这是我的数据框。我在Pond
5...n 对day
1....n 进行了测量。测量由 143 个通量 ( flux.cor
) 组成,这是我正在建模的变量。
这是我的模型:
它返回通量的预测。
然后我建立我的似然函数:
并应用它
ll.fit<-mle2(ll,start=list(GPP24=100, R24=100))
它一天对一个池塘效果很好,但我想做的是自动将它应用于所有池塘。
我尝试了 ddply (如上所述)
但没有成功。我还尝试使用 for 循环提取系数,但这也不起作用。
任何帮助将不胜感激。
r - R循环:如果不存在,则将列添加到表中
我正在尝试使用 R 中的 for 循环编译来自多个文件的数据。我想将所有数据放入一个表中。下面的计算只是一个例子。
将额外的列添加到 dat2 中的最流畅的方法是什么?我想获得相同的列名(在这种情况下为“Density_3”)并用零填充它,如果它不存在的话。假设我有大约 100 个表,列数(Density_1、2、3 等)在 5 到 6 之间变化。
我尝试了以下操作,但没有成功:
另一个:有没有一种平滑的方法来 rbind() 表?似乎 rbind(get(dat)) 不起作用。
macos - 在 Mac OS X 版本 10.6.7 上 .parallel=TRUE 时 ddply 较慢
我试图让 ddply 在我的 mac 上并行运行。我使用的代码如下:
为什么运行 .parallel=TRUE 时 ddply 会变慢?我在网上搜索无济于事。我也试过registerDoMC()
了,结果是一样的。
r - `ddply`(或类似的)可以做一个滑动窗口吗?
就像是
那会像
除了直接在里面ddply
,这样我就可以得到它附带的漂亮的语法糖?
r - 如何在不排序的情况下进行 ddply()?
我使用以下代码来总结我的数据,按 Compound、Replicate 和 Mass 分组。
一个不幸的副作用是生成的数据帧按这些字段排序。我想这样做并保持 Compound、Replicate 和 Mass 的顺序与原始数据框中的顺序相同。有任何想法吗?我尝试将顺序整数的“排序”列添加到原始数据中,但是我当然不能将其包含在 .variables 中,因为我不想对其进行“分组”,因此它不会在摘要数据帧。
谢谢您的帮助。
r - R,plyr,具有复杂功能
我有以下数据集(CEU):
对于组的每个值,我想将下面提到的函数应用于 x 和 y 值的每个子集。然后我想组合所有结果并将它们写在一个表中以导出。
我不确定如何准确地应用 plyr 函数来做到这一点……如果这确实是正确的做法。
代码运行没有错误,但仅在由以下设置的原始 x 和 y 值上运行:
ddply 不使用数据集 CEU 中的 x 和 y 值。它们不会像使用组值那样以迭代方式替换原始 x 和 y。数据具有适当数量的组,并且 ec20/ec50/ec80 值是准确的,但仅适用于原始 x 和 y。
r - 加载 plyr 包时出现问题
我使用 R 2.13.1 并尝试在 R 中加载包“plyr 1.6”失败。我手动将其安装到目录“~/R/library”中。我的代码是:
我收到消息:
库中的错误(plyr):“plyr”不是有效的安装包
它适用于其他包(“chron”、“zoo”、“ismev”、“Lmoments”),但不适用于“plyr”包,我不知道发生了什么。我曾尝试安装和加载早期版本的“plyr”,但结果相同。
我很感激任何帮助,因为我被困住了!问候西塞
r - R - ddply 并增加一个计数器
我ddply
用来拆分数据帧并将块发送到函数。在行之前ddply
,我设置了i=1
. 然后在函数内部递增i
,以便每个数据块都有一个新数字。但是,当我运行它时,i
每次调用该函数时都会将其重置为 1。我认为这是因为i
每次ddply
发送新数据块时都会重新分配函数外部。有没有办法在函数之外递增并将该数字与数据一起发送?
编辑:: 这是调用行:
这是功能:
r - 在 R 中将 Plyr 与返回多个变量的复杂函数一起使用
我有一个包含三个分组变量的数据集:条件、子和延迟。这是我的数据的简化版本(真实数据要长得多)
我有一套复杂的程序来应用这些数据(细节并不重要)我编写了以下函数,当被三个分组变量分割时,它完成了我想要的。它返回 3 个我感兴趣的变量(indiff、p_intercept 和 p_lv)
我正在尝试使用 ddply 将其应用于每个 3 个分组变量的数据子集:
ddply(数据,。(子,条件,延迟),getIndiffs)
但是,当我运行它时,我得到了错误
list_to_dataframe(res, attr(.data, "split_labels")) 中的错误:结果的长度不相等
奇怪的是,当我只使用 1 个分组变量但用 2+ 抛出错误时,这很好用
此外,当我自己“模拟”将数据集拆分为仅包含由 3 个分组变量拆分的子集的数据帧时,我的函数工作得很好。(注意:我尝试了返回 3 个变量甚至只返回 1 个变量的不同方法,但它也不起作用)
基本上,我想知道的是如何使用 plyr 来使用函数返回多个变量。
对我的问题的任何其他根本不同的解决方案也是受欢迎的。
r - 结合 split() 和 cumsum()
我正在尝试生成特定足球运动员按赛季累积进球的统计数据。我已经使用 cut 函数从比赛日期中获取赛季。我有与此数据框相对应的数据
在现实生活中,每个赛季的比赛场数可能不是恒定的
我想最终得到看起来像这样的数据
一年内累计进球数和本赛季的比赛次数