问题标签 [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 - 关于 Plyr 错误的问题:as.double(y) 中的错误:无法将“S4”类型强制转换为“双”类型的向量
我正在升级我以前工作过的项目。这段代码几个月前有效,同时我升级了 R 和 plyr。我想我在 R1.10 上,现在我在 R1.35 上,我不确定我之前运行的是什么版本的 plyr,但我当前安装的版本是 1.2。
这是我要运行的内容:
我现在总是收到相同的错误消息。
任何意见,将不胜感激。
谢谢,
杰森
r - plyr summarise 只调用全局函数
我正在尝试将一个函数(weight.func)传递给另一个调用 ddply 的函数(包装器)。我希望 ddply 使用该函数(weight.func)作为其计算的一部分。当 weight.func 设置为“全局”时,我得到了我想要的输出,但当它作为匿名函数传递给包装器时却没有。
我可以让 ddply 做我想做的事吗?这是一个代码示例:
第二个输出是目标。任何帮助表示赞赏!(包括一种非基于 plyr 的方式来完成相同的任务。)
上面的例子是一个玩具例子。这是我可以重现该行为的最简单的情况。
r - 如何重写此代码以使其按预期使用 plyr/ddply?
背景
我有一个概率分布数据框,我想计算以下统计摘要:
方法
第 1 步:我编写了一个函数来计算摘要并返回mean(lcl, ucl)
第 2 步:我想在我的数据框中添加一个名为stats
问题一:
这样做的正确方法是什么?我尝试时遇到错误
问题2:(加分)
是否有更有效的方法来编写summary.stats
函数,即使用更少的“if”?
更新
感谢 Shane 和 Joshua 为我解决了这个问题。
我还发现了一个问题,该问题对尝试对数据框的每一行进行 plyr 操作的其他人有所帮助
r - R:在 data.frame 列中拆分不平衡列表
假设您有一个具有以下结构的数据框:
其中列b
是以分号分隔的列表(按行不平衡)。理想的 data.frame 将是:
我有一个需要将近 2 小时(170K 行)的部分解决方案:
这似乎是一个大小问题,因为如果我跑
只需 9 秒。首先使用 sapply(使用不同的函数)转换为一组 data.frames 很快,但所需的 `rbind' 需要更长的时间。
r - 将 n 个函数的列表应用于数据帧的每一行?
我有一个函数列表
我有一个数据框:
对于i行中的每一行,我想在j列的每一列上评估函数j并对结果求和:
我怎样才能有效地做到这一点?这是实现plyr
功能的合适时机吗?如果是这样,怎么做?
奖金问题:为什么a[4]
NA
?
现在是使用函数的合适时间plyr
吗?如果是,我该怎么做?
function - 关于 sapply /plyr 语法的 R 问题:如何将变量值传递给函数
有没有办法将 ddply/sapply 中的变量值直接传递给没有函数 (x) 表示法的函数?
例如代替: ddply(bu,.(trial), function (x) print(x$tangle) )
有没有办法: ddply(bu,.(trial), print(tangle) )
我问是因为有很多变量,这个符号变得非常麻烦。
谢谢!
r - 如果我的分组变量是一个因素,我如何生成按组汇总统计?
假设我想获得一些关于数据集的汇总统计信息mtcars
(基础 R 版本 2.12.1 的一部分)。下面,我根据汽车的发动机气缸数对汽车进行分组,并采用 中剩余变量的每组均值mtcars
。
但是,如果我的分组变量恰好是一个因素,事情就会变得更加棘手。ddply()
对因子的每个级别都发出警告,因为不能接受mean()
因子的。
所以,我想知道我是否只是以错误的方式生成汇总统计信息。
通常如何生成按因素或按组汇总统计数据的数据结构(如均值、标准差等)?我应该使用其他东西ddply()
吗?如果我可以使用ddply()
,我该怎么做才能避免在尝试取分组因子的平均值时导致的错误?
r - 如何在每一行上应用库命令并创建一个新变量
我在使用 ineq() 库中的命令创建新变量时遇到了一点麻烦,该库计算基尼系数。我给 ineq 命令的向量是我感兴趣的列的列表。我想为每一行运行这个命令,然后附加新变量。
当我尝试将其作为循环或使用 ddply(我现在正在学习)时,每行的输出是相同的 Gini 分数(对于整个数据集)。
如何为每个单独的行运行此命令? 提前致谢!