r-faq相关内容
我正在尝试编写一个函数来接受一个 data.frame (x) 和一个 column .该函数对 x 执行一些计算,然后返回另一个 data.frame.我坚持将列名传递给函数的最佳实践方法. 下面两个最小的例子fun1 和fun2 产生了想要的结果,能够对x$column 执行操作,使用max() 为例.然而,两者都依赖于看似(至少对我而言)不雅的 调用 substitute() 和
..
这是我正在使用的所有变量: str(ad.train)$ Date : Factor w/427 levels "2012-03-24","2012-03-29",..: 4 7 12 14 19 21 24 29 31 34 ...$ Team : Factor w/18 levels "Adelaide","Brisbane Lions",..: 1 1 1 1 1 1 1 1 1 1 ..
..
我有以下数据框 x 我想计算id1和id2分组的val1和val2的均值,同时计算每个id1-id2组合的行数.我可以单独执行每个计算: # 计算平均值聚合(.〜id1 + id2,数据= x,乐趣=平均值)# 计算行数聚合(.〜id1 + id2,数据= x,乐趣=长度) 为了在一次调用中进行两种计算,我尝试了 do.call("rbind",aggregate(.~id1 + id
..
我很想知道 R 是否可以使用它的 eval() 函数来执行由例如提供的计算一个字符串. 这是一个常见的情况: eval("5+5") 然而,我得到的不是 10 个: [1] "5+5" 有什么解决办法吗? 解决方案 eval() 函数计算一个表达式,但 "5+5" 是一个字符串,不是表达.使用 parse() 和 text= 将字符串更改为表达式: >评估(解析(文本=“5
..
我收到此错误消息: if (condition) { 中的错误:需要 TRUE/FALSE 的缺失值 或 while (condition) { : 需要 TRUE/FALSE 的缺失值 这是什么意思,我该如何预防? 解决方案 condition 的评估结果为 NA.if 条件必须具有 TRUE 或 FALSE 结果. if (NA) {}## if (NA) { 错误:需要 T
..
注意:这个问题的标题已经过编辑,使其成为当 plyr 函数屏蔽了它们的 dplyr 对应项时的规范问题.其余的问题保持不变. 假设我有以下数据: dfx 使用旧的 plyr 我可以创建一个小表格,用以下代码总结我的数据: require(plyr)ddply(dfx, .(group, sex), 总结,均值 = 轮(均值(年龄),2),sd = 圆(sd(年龄),2)) 输出如下
..
假设我有一个 data.frame 对象: df 现在我想计算 name 和 type 的每个组合的行数(观察值).可以这样做: table(df[, c("name","type")]) 或者也可能使用 plyr,(虽然我不确定如何). 但是,如何将结果合并到原始数据框中?使结果看起来像这样: df# 名称类型 num 计数# 1 黑色椅子 4 2# 2 黑色椅子 5 2# 3
..
假设我有以下数据框: >我的维克名称 order_no1 艾米 122 杰克 143 杰克 164 戴夫 115 艾米 126 杰克 167 汤姆 198 拉里 229 汤姆 1910 戴夫 1111 杰克 1712 汤姆 2013 艾米 2314 杰克 16 我想为每个 name 计算不同的 order_no 值的数量.它应该产生以下结果: name number_of_distinct_
..
我想编写trycatch代码来处理从网络下载时的错误. url 这两条语句运行成功.下面,我创建了一个不存在的网址: url url[1] 不存在.如何编写 trycatch 循环(函数),以便: 当网址错误时,输出将是:“网址错误,无法获取". 当URL错误时,代码不会停止,而是继续下载,直到URL列表结束? 解决方案 那么:欢迎来到 R 世界 ;-) 给你
..
我在 R 中生成以下虚拟变量时遇到问题: 我正在分析年度时间序列数据(时间段 1948-2009).我有两个问题: 如何为观察 #10 生成虚拟变量,即 1957 年(1957 年的值 = 1,否则为零)? 如何生成一个在 1957 年之前为零并从 1957 年到 2009 年取值为 1 的虚拟变量? 解决方案 如果您有很多变量,另一个可以更好地工作的选项是 factor
..
是否可以行绑定两个不具有相同列集的数据框?我希望保留绑定后不匹配的列. 解决方案 rbind.fill 包中的 plyr 可能是您正在寻找的.
..
当我需要过滤一个data.frame,即提取满足特定条件的行时,我更喜欢使用subset函数: subset(airquality, Month == 8 & Temp > 90) 而不是 [ 函数: airquality[airquality$Month == 8 &空气质量$Temp >90, ] 我偏爱的主要原因有两个: 我发现代码从左到右读起来更好.即使对 R 一无所知的人也
..
我目前正在 ggplot2 中为一个项目做一些分析,偶然发现了一些(对我来说)我无法解释的奇怪行为.当我编写 aes(x = cyl, ...) 时,如果我使用 aes(x = mtcars$cyl, ...) 传递相同的变量,该图看起来会有所不同.当我删除 facet_grid(am ~ .) 时,两个图再次相同.下面的代码模仿了我项目中生成相同行为的代码: 库(dplyr)图书馆(ggplo
..
R 的 duplicated 返回一个向量,显示向量或数据框的每个元素是否与具有较小下标的元素重复.因此,如果 5 行数据帧的第 3、4 和 5 行相同,则 duplicated 会给我向量 假、假、假、真、真 但在这种情况下,我实际上想得到 假、假、真、真、真 也就是说,我想知道一行是否也被带有更大下标的行复制. 解决方案 duplicated 有一个 fromLast 参数.?
..
我的代码在一个地方以一列数据框结束,我真的想将其转换为单个大数据框. 我从一个之前的问题中得到了一些提示,该问题正在尝试做一些类似但更复杂的事情. 这是我开始的一个例子(为了说明,这是非常简化的): listOfDataFrames 我目前正在使用这个: df 解决方案 使用 dplyr 包中的 bind_rows() : bind_rows(list_of_data
..
我有两个数据框(df 和 df1).df1 是 df 的子集.我想得到一个数据框,它是 df 中 df1 的补充,即返回第一个数据集的行,而第二个数据集不匹配.例如让, 数据框df: 头部第 1 行行2第 3 行第 4 行第5行 数据框df1: 头部第 3 行第5行 那么期望的输出 df2 是: 头部第 1 行行2第 4 行 解决方案 Try anti_join from dp
..
我在尝试在 R 中使用大对象时遇到问题.例如: >内存限制(4000)>a = 矩阵(NA, 1500000, 60)>a = 矩阵(NA, 2500000, 60)>a = 矩阵(NA, 3500000, 60)错误:无法分配大小为 801.1 Mb 的向量>a = 矩阵(NA, 2500000, 60)错误:无法分配大小为 572.2 Mb 的向量 # 不能再变小了>rm(list=ls(a
..
我想使用 dplyr::mutate() 在数据框中创建多个新列.列名及其内容应动态生成. 来自虹膜的示例数据: 库(dplyr)虹膜
..
我正在使用具有离散 x 刻度的 ggplot 制作一个躲避条形图,x 轴现在按字母顺序排列,但我需要重新排列它以便它按 y 轴的值排序(即最高的栏将位于左侧). 我尝试过排序或排序,但结果是对 x 轴进行排序,而不是分别对条形进行排序. 我做错了什么? 解决方案 尝试手动设置 x 轴上的因子水平.例如: 库(ggplot2)# 自动级别ggplot(mtcars, aes(f
..
我想知道如何在 ggplot 上添加回归线方程和 R^2.我的代码是: 库(ggplot2)df
..