我想以dplyr的方式从data.table
获得以下代码:
library(tidyverse)
library(data.table)
Iris <- as.data.table(iris)
Iris[, .(m = mean(Sepal.Width[Sepal.Width < 3])), Species]
这是我到目前为止所拥有的:
Iris %>%
group_by(Species) %>%
summarise(m = mean(Sepal.Width))
但是我不知道可以在哪里放置条件Sepal.Width < 3
。
[与data.table
或base R
中的方法相同,创建逻辑向量(Sepal.Width < 3
),使用该逻辑向量将列与[
子集并获得值子集的mean
] >
library(dplyr)
Iris %>%
group_by(Species) %>%
summarise(m = mean(Sepal.Width[Sepal.Width <3]))
# A tibble: 3 x 2
# Species m
# <fct> <dbl>
#1 setosa 2.60
#2 versicolor 2.61
#3 virginica 2.69