r-faq相关内容

将 data.frame 列名传递给函数

我正在尝试编写一个函数来接受一个 data.frame (x) 和一个 column .该函数对 x 执行一些计算,然后返回另一个 data.frame.我坚持将列名传递给函数的最佳实践方法. 下面两个最小的例子fun1 和fun2 产生了想要的结果,能够对x$column 执行操作,使用max() 为例.然而,两者都依赖于看似(至少对我而言)不雅的 调用 substitute() 和 ..
发布时间:2021-12-01 20:26:55 其他开发

在一次调用中按组对多个变量应用多个汇总函数

我有以下数据框 x 我想计算id1和id2分组的val1和val2的均值,同时计算每个id1-id2组合的行数.我可以单独执行每个计算: # 计算平均值聚合(.〜id1 + id2,数据= x,乐趣=平均值)# 计算行数聚合(.〜id1 + id2,数据= x,乐趣=长度) 为了在一次调用中进行两种计算,我尝试了 do.call("rbind",aggregate(.~id1 + id ..
发布时间:2021-12-01 20:26:39 其他开发

评估作为字符串给出的表达式

我很想知道 R 是否可以使用它的 eval() 函数来执行由例如提供的计算一个字符串. 这是一个常见的情况: eval("5+5") 然而,我得到的不是 10 个: [1] "5+5" 有什么解决办法吗? 解决方案 eval() 函数计算一个表达式,但 "5+5" 是一个字符串,不是表达.使用 parse() 和 text= 将字符串更改为表达式: >评估(解析(文本=“5 ..
发布时间:2021-12-01 20:26:28 其他开发

if/while (condition) {: 缺少 TRUE/FALSE 需要的值

我收到此错误消息: if (condition) { 中的错误:需要 TRUE/FALSE 的缺失值 或 while (condition) { : 需要 TRUE/FALSE 的缺失值 这是什么意思,我该如何预防? 解决方案 condition 的评估结果为 NA.if 条件必须具有 TRUE 或 FALSE 结果. if (NA) {}## if (NA) { 错误:需要 T ..
发布时间:2021-12-01 20:26:18 其他开发

当我在 `dplyr` 之后加载 `plyr` 时,为什么汇总或变异不适用于 group_by?

注意:这个问题的标题已经过编辑,使其成为当 plyr 函数屏蔽了它们的 dplyr 对应项时的规范问题.其余的问题保持不变. 假设我有以下数据: dfx 使用旧的 plyr 我可以创建一个小表格,用以下代码总结我的数据: require(plyr)ddply(dfx, .(group, sex), 总结,均值 = 轮(均值(年龄),2),sd = 圆(sd(年龄),2)) 输出如下 ..
发布时间:2021-12-01 20:25:46 其他开发

计算每组的行数并将结果添加到原始数据框中

假设我有一个 data.frame 对象: df 现在我想计算 name 和 type 的每个组合的行数(观察值).可以这样做: table(df[, c("name","type")]) 或者也可能使用 plyr,(虽然我不确定如何). 但是,如何将结果合并到原始数据框中?使结果看起来像这样: df# 名称类型 num 计数# 1 黑色椅子 4 2# 2 黑色椅子 5 2# 3 ..
发布时间:2021-12-01 20:25:37 其他开发

在数据框中按组计算唯一/不同的值

假设我有以下数据框: >我的维克名称 order_no1 艾米 122 杰克 143 杰克 164 戴夫 115 艾米 126 杰克 167 汤姆 198 拉里 229 汤姆 1910 戴夫 1111 杰克 1712 汤姆 2013 艾米 2314 杰克 16 我想为每个 name 计算不同的 order_no 值的数量.它应该产生以下结果: name number_of_distinct_ ..
发布时间:2021-12-01 20:24:44 其他开发

如何在 R 中编写 trycatch

我想编写trycatch代码来处理从网络下载时的错误. url 这两条语句运行成功.下面,我创建了一个不存在的网址: url url[1] 不存在.如何编写 trycatch 循环(函数),以便: 当网址错误时,输出将是:“网址错误,无法获取". 当URL错误时,代码不会停止,而是继续下载,直到URL列表结束? 解决方案 那么:欢迎来到 R 世界 ;-) 给你 ..
发布时间:2021-12-01 20:24:26 其他开发

生成虚拟变量

我在 R 中生成以下虚拟变量时遇到问题: 我正在分析年度时间序列数据(时间段 1948-2009).我有两个问题: 如何为观察 #10 生成虚拟变量,即 1957 年(1957 年的值 = 1,否则为零)? 如何生成一个在 1957 年之前为零并从 1957 年到 2009 年取值为 1 的虚拟变量? 解决方案 如果您有很多变量,另一个可以更好地工作的选项是 factor ..
发布时间:2021-12-01 20:24:16 其他开发

为什么 `[` 比 `subset` 好?

当我需要过滤一个data.frame,即提取满足特定条件的行时,我更喜欢使用subset函数: subset(airquality, Month == 8 & Temp > 90) 而不是 [ 函数: airquality[airquality$Month == 8 &空气质量$Temp >90, ] 我偏爱的主要原因有两个: 我发现代码从左到右读起来更好.即使对 R 一无所知的人也 ..
发布时间:2021-12-01 20:23:43 其他开发

将带有美元符号 ($) 的变量与 facet_grid() 或 facet_wrap() 组合传递给 aes() 时出现问题

我目前正在 ggplot2 中为一个项目做一些分析,偶然发现了一些(对我来说)我无法解释的奇怪行为.当我编写 aes(x = cyl, ...) 时,如果我使用 aes(x = mtcars$cyl, ...) 传递相同的变量,该图看起来会有所不同.当我删除 facet_grid(am ~ .) 时,两个图再次相同.下面的代码模仿了我项目中生成相同行为的代码: 库(dplyr)图书馆(ggplo ..
发布时间:2021-12-01 20:23:33 其他开发

查找所有重复行,包括“具有较小下标的元素";

R 的 duplicated 返回一个向量,显示向量或数据框的每个元素是否与具有较小下标的元素重复.因此,如果 5 行数据帧的第 3、4 和 5 行相同,则 duplicated 会给我向量 假、假、假、真、真 但在这种情况下,我实际上想得到 假、假、真、真、真 也就是说,我想知道一行是否也被带有更大下标的行复制. 解决方案 duplicated 有一个 fromLast 参数.? ..
发布时间:2021-12-01 20:23:25 其他开发

将数据框列表逐行合并为一个数据框

我的代码在一个地方以一列数据框结束,我真的想将其转换为单个大数据框. 我从一个之前的问题中得到了一些提示,该问题正在尝试做一些类似但更复杂的事情. 这是我开始的一个例子(为了说明,这是非常简化的): listOfDataFrames 我目前正在使用这个: df 解决方案 使用 dplyr 包中的 bind_rows() : bind_rows(list_of_data ..
发布时间:2021-12-01 20:23:14 其他开发

查找数据框的补集(反连接)

我有两个数据框(df 和 df1).df1 是 df 的子集.我想得到一个数据框,它是 df 中 df1 的补充,即返回第一个数据集的行,而第二个数据集不匹配.例如让, 数据框df: 头部第 1 行行2第 3 行第 4 行第5行 数据框df1: 头部第 3 行第5行 那么期望的输出 df2 是: 头部第 1 行行2第 4 行 解决方案 Try anti_join from dp ..
发布时间:2021-12-01 20:23:03 其他开发

按频率/值订购离散 x 比例

我正在使用具有离散 x 刻度的 ggplot 制作一个躲避条形图,x 轴现在按字母顺序排列,但我需要重新排列它以便它按 y 轴的值排序(即最高的栏将位于左侧). 我尝试过排序或排序,但结果是对 x 轴进行排序,而不是分别对条形进行排序. 我做错了什么? 解决方案 尝试手动设置 x 轴上的因子水平.例如: 库(ggplot2)# 自动级别ggplot(mtcars, aes(f ..
发布时间:2021-12-01 20:22:23 其他开发