我對此很陌生,所以請客氣!
我的資料集有 3 列 - Col A(chr、'X' 和 'Y')、Col B(chr、'red'、'blue'、'yellow')、Col C(數字)。
Col_A <- c('X', 'X', 'X', 'Y', 'Y', 'X', 'Y', 'X')
Col_B <- c('red', 'yellow', 'blue', 'blue', 'yellow', 'red', 'blue', 'red')
Col_C <- c(12, 22, 13, 14, 25, 17, 11, 10)
dataset <- as.data.frame(cbind(Col_A, Col_B, Col_C))
如何在 R 中創建一個匯總表,就像
tbl_summary(dataset, by = 'Col_A')

但是給出 Col B 中每個子組的 Col C 的平均值?

現在,代碼為我提供了 Col B 的計數,然后是 Col C 的“X”和“Y”的平均值。
任何這些甚至有意義嗎?!
uj5u.com熱心網友回復:
這是你想要的?更新了基本 R 和 dplyr 選項。
# simpler way to create a data.frame and preserve variable types.
Col_A <- c('X', 'X', 'X', 'Y', 'Y', 'X', 'Y', 'X')
Col_B <- c('red', 'yellow', 'blue', 'blue', 'yellow', 'red', 'blue', 'red')
Col_C <- c(12, 22, 13, 14, 25, 17, 11, 10)
dataset <- data.frame(Col_A, Col_B, Col_C)
#Using base R `aggregate`
aggregate(Col_C ~ Col_A Col_B, data = dataset, mean)
# with `dplyr`
library(dplyr, warn.conflicts = FALSE)
dataset <-
dataset %>%
group_by(Col_A, Col_B) %>%
summarise(mean = mean(Col_C, na.rm = TRUE))
dataset
#> # A tibble: 5 x 3
#> # Groups: Col_A [2]
#> Col_A Col_B mean
#> <chr> <chr> <dbl>
#> 1 X blue 13
#> 2 X red 13
#> 3 X yellow 22
#> 4 Y blue 12.5
#> 5 Y yellow 25
# and as a `gt` table
library(gt)
gt(dataset)
由reprex 包(v2.0.1)于 2021 年 12 月 23 日創建
uj5u.com熱心網友回復:
使用 data.table 結構,它是由引數
library(data.table)
dataset <- data.table(Col_A, Col_B, Col_C)
dataset[, mean(Col_C), keyby=Col_B]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/391180.html
標籤:r
