我正在與 R 合作。
鑒于我生成的以下隨機資料,我能夠用這些資料制作一個列聯表:
library(memisc)
library(dplyr)
set.seed(123)
v1 <- c("2010-2011","2011-2012", "2012-2013", "2013-2014", "2014-2015")
v2 <- c("A", "B", "C", "D", "E")
v3 <- c("Z", "Y", "X", "W" )
v4 <- c("data_1", "data_2", "data_3", "data_4" )
dates <- as.factor(sample(v1, 1000, replace=TRUE, prob=c(0.5, 0.2, 0.1, 0.1, 0.1)))
types <- as.factor(sample(v2,1000, replace=TRUE, prob=c(0.3, 0.2, 0.1, 0.1, 0.1)))
types2 <- as.factor(sample(v3, 1000, replace=TRUE, prob=c(0.3, 0.5, 0.1, 0.1)))
names <- as.factor(sample(v3, 1000, replace=TRUE, prob=c(0.3, 0.5, 0.1, 0.1)))
var = rnorm(1000,10,10)
problem_data = data.frame(var,dates, types, types2, names)
summary <- xtabs(~dates names types types2, problem_data)
t = ftable(summary, row.vars=1, col.vars=2:4)
show_html(t)

是否可以直接從資料框中制作類似于表的列聯表?
例如,假設我想制作上面的列聯表,但不是用“counts”填充這個表,而是用“var”的平均值填充這個表。使用“dplyr”庫,我可以創建一個資料框,其中包含此列聯表所需的所有值:
library(dplyr)
contingency_table = data.frame(problem_data %>% group_by(dates,names, types, types2) %>% summarise(mean_value = mean(var)))
head(contingency_table)
dates names types types2 mean_value
1 2010-2011 W A X -10.128687
2 2010-2011 W A Y 9.552724
3 2010-2011 W A Z 9.686354
4 2010-2011 W B W -4.411400
5 2010-2011 W B Y 13.624970
6 2010-2011 W B Z 7.008089
能不能把上面這個資料框做成列聯表,然后轉成html可發布格式?
在這里使用這個stackoverflow帖子(
是否可以制作一個列聯表,而不是計數,而是使用每個組的變數“var”的平均值?使用 xtabs() 函式是否更好,而我使用“資料框方法”使這變得過于復雜?有人可以告訴我如何做到這一點嗎?
謝謝!
uj5u.com熱心網友回復:
通用交叉制表方法tapply在 R 中被稱為。您可以在
memisc::show_html(y) 給

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/409144.html
標籤:
