- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否有应用条件 group_by 的方法?例如(顺便说一句,代码不起作用,但它只是为了显示 iris 数据集,所以你明白了要点):
iris$Sepal.Width.r <- round(iris$Sepal.Width)
for(i in 1:2){
test <- iris %>%
ifelse(i == 1, group_by(Species), group_by(Sepal.Width.r)) %>% #****
summarise(avgLWdiff = (mean(Petal.Length) - mean(Petal.Width)))
print(test)
}
带星号的#**** 是我对它应该是什么样子的非常粗略的(也是错误的)猜测。我认为到目前为止我从其他人那里看到的问题询问的是 summarise/mutate 行中的 if 语句,但我还没有看到有人询问过 group_by 行。另外,我总结的内容占了几行。
我想要的输出是:
当 i==1 时:
Species avgLWdiff
<fct> <dbl>
1 setosa 1.22
2 versicolor 2.93
3 virginica 3.53
当我 == 2 时:
Sepal.Width.r avgLWdiff
<dbl> <dbl>
1 2 2.76
2 3 2.76
3 4 1.54
最佳答案
您可以使用 if
而不是 ifelse
来做到这一点。请记住,if
是用于控制流的那个,这正是您想要的。
iris %>%
{if(i == 1) group_by(., Species) else group_by(., Sepal.Width.r)} %>%
summarise(avgLWdiff = (mean(Petal.Length) - mean(Petal.Width)))
我在这里将 if
子句放在 {}
中,否则管道会尝试将 iris
作为测试放入。通过使用 {}
,magrittr 管道看起来更深的点。
用基管做这个比较难,因为它不太灵活。我认为你需要定义一个小的辅助函数来让它工作:
f <- function(d){if(i == 1) group_by(d, Species) else group_by(d, Sepal.Width.r)}
iris |> f() |>
summarise(avgLWdiff = (mean(Petal.Length) - mean(Petal.Width)))
关于r - 如何在 dplyr group_by 中使用 if/if else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68519825/
我有一个 data.frame,例如 df1 % summarise(no.c = n(), m.costs = mean(cost)) 通过 id 计算观测值的数
问题:我想使用 dplyr/tibble add_row。我想在我的示例中按 A 对数据进行分组,然后 add_row 包含组名 A,然后是 B 的值。 我面临的问题是尝试在 A 下的列中添加 Gro
Ruby 有这个很棒的方法 group_by对于可枚举的。 Elixir 有类似的东西吗?我在 Enum 模块上找不到此功能。谢谢 最佳答案 还没有。我们还没有添加它,因为我们正在等待 map 。它将
我有 30 个传感器的 CO2 测量数据,这些传感器不会同时测量,也不会完全在同一时间开始。我想尽可能地对齐它们,所以我认为取 10s 的平均值可能是一个很好的解决方案。 在上一个问题中:Group
我有数据和图表,就像我在下面给出的示例一样。 我想要第三个“条件”,即给定年份和月份的条件 A 和条件 B 的总金额。我不知道该怎么做,因为 Condition 包含在 group_by 语句中。特别
我有一组看起来像这样的数据: +----------+------------+-------+-------+ | step1 | step2 | step3 | step4 | +
下面是我的示例,让我解释一下我正在尝试做的事情,尽管它并没有像我想要的那样工作。 我需要找到同一个人在同一日期的 z 列中有 2 个以上唯一值的所有实例。但是,我需要找到 z 列中特定值列表的位置。
我有一些数据如下所示: cusip date start_date end_date 1 00036020 2011-01-31 2011-07-29 2012-06-30
我在 codeigniter 中有这个问题: 我尝试从数据库制作导航树系统。 模型: function getServices() { $this->db->select('service_url,
我想使用dplyr进行一些数据操作。背景:我有一个调查权重和一堆变量(主要是Likert项)。我想对带有或不带有调查权重的每个类别的频率和百分比求和。 例如,让我们只使用频率作为性别变量。结果应该是这
我正在处理大型(最少 8 百万行)dataframes并希望根据几个分组变量和 rmultinom 进行一些基本计算.就我的代码而言,完成计算至少需要约 1 秒,这不是问题,但我需要执行数千次,所以我
我将 flask 用作带有 sqlalchemy 的 python 框架。这些模型使用 query_property 帮助我构建查询: class Person(object): qu
我正在使用 R 编程语言。 我有以下数据集: library(dplyr) df = structure(list(ethnicity = c("c", "c", "c", "b", "c", "b"
我有数据集,df, Subject Folder Message Date A Out 9/9/2019 5
我的数据库看起来(有点)像这样: Table 'posts': ID title text 62 Trees in Europe You can find fine t
我的一些组合值在文本字段中有逗号,有没有办法可以指定要连接的字符,而不是逗号? 最佳答案 在 mysql documentation你可以找到完整的语法 GROUP_CONCAT([DISTINCT]
我想根据内容对数组的字符串元素进行分组。 ["abc", "abc", "def", "ghi", "ghi"].group_by { |x|一些代码 所以我希望它返回: [["abc", "abc"
Python 3.6我有一个简单的对象列表: for obj in obj_ts: print(obj['address']) 这告诉我: mwpJCSEEkphA1utQGA2Y9Vx8cu
我有一个名为 questions 的表,其中包含以下行: questions.id | questions.target_username 1 | every.one 2
我的数组是 fruits = [["apple", "Tue"], ["mango", "Mon"], ["apple", "Wed"], ["orange", "Tue"]] 我要得到的结果是Gro
我是一名优秀的程序员,十分优秀!