Tob*_*nne 2 r dplyr data.table tidyverse
我想以data.tabledplyr的方式获取以下代码:
library(tidyverse)
library(data.table)
Iris <- as.data.table(iris)
Iris[, .(m = mean(Sepal.Width[Sepal.Width < 3])), Species]
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止的内容:
Iris %>%
group_by(Species) %>%
summarise(m = mean(Sepal.Width))
Run Code Online (Sandbox Code Playgroud)
但是我不知道该把我放在哪里Sepal.Width < 3。
与in data.table或in中的方法相同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
Run Code Online (Sandbox Code Playgroud)