r 中不同类别的 t 检验
t-test in r for different categories
我有一个包含 26 个变量和 4662 个观察值超过一年的数据集。我想分析特定日期后可能发生的差异。有一个变量时间,如果它在日期之前为 0,如果它在日期之后则为 1。
另一个变量分类我不同类型的观察。
我想检查每个类别在特定日期前后是否存在显着差异。但是我想查看的差异保存在另一个变量 number_trackers 中。 c4 是我不需要的所有其他不重要变量的占位符 t.test
可复制的数据框
Dataset <- data.frame = category=c("tools", "finance", "business", "education","tools","education"),
number_trackers = c(10, 12, 1, 30, 7, 21),
c4 = c("url1.com","ur2.com","url3.com","url4.com","url5.com","url6.com"),
time = c(1,0,0,0,1,1))
如果输出是针对具有两个不同时间段的每个类别的 t 检验,那将是最好的。
带有类别的循环可能会有所帮助:
#taking the list of unique categories
categories <- unique(Dataset$category)
#Creating an empty list
output_list <- list()
#Lopping the t-test for different categories and creating a list of output
for (i in categories) {
output_list[[i]] <- t.test(number_trackers ~ time,
data = Dataset[Dataset$category == i,],
paired = FALSE)
}
如果你想看第一类的总结:
output_list[[categories[1]]]
编辑:
用于生成输出摘要table
sum_tab <- as.data.frame(matrix(nrow = length(categories), ncol = 7))
colnames(sum_tab) <- c("t", "df", "p.value", "ConfIntLower",
"ConfIntUpper", "Mean in Gr 0", "Mean in Gr 1")
rownames(sum_tab) <- categories
for (i in categories) {
sum_tab[i, ] <- with(output_list[[i]],
c(statistic, parameter, p.value, conf.int, estimate))
}
write.csv(sum_tab, "Summary.csv", row.names = TRUE)
P.S.: 由于可重现的例子不充分,我无法运行显示输出。
我有一个包含 26 个变量和 4662 个观察值超过一年的数据集。我想分析特定日期后可能发生的差异。有一个变量时间,如果它在日期之前为 0,如果它在日期之后则为 1。 另一个变量分类我不同类型的观察。
我想检查每个类别在特定日期前后是否存在显着差异。但是我想查看的差异保存在另一个变量 number_trackers 中。 c4 是我不需要的所有其他不重要变量的占位符 t.test
可复制的数据框
Dataset <- data.frame = category=c("tools", "finance", "business", "education","tools","education"),
number_trackers = c(10, 12, 1, 30, 7, 21),
c4 = c("url1.com","ur2.com","url3.com","url4.com","url5.com","url6.com"),
time = c(1,0,0,0,1,1))
如果输出是针对具有两个不同时间段的每个类别的 t 检验,那将是最好的。
带有类别的循环可能会有所帮助:
#taking the list of unique categories
categories <- unique(Dataset$category)
#Creating an empty list
output_list <- list()
#Lopping the t-test for different categories and creating a list of output
for (i in categories) {
output_list[[i]] <- t.test(number_trackers ~ time,
data = Dataset[Dataset$category == i,],
paired = FALSE)
}
如果你想看第一类的总结:
output_list[[categories[1]]]
编辑:
用于生成输出摘要table
sum_tab <- as.data.frame(matrix(nrow = length(categories), ncol = 7))
colnames(sum_tab) <- c("t", "df", "p.value", "ConfIntLower",
"ConfIntUpper", "Mean in Gr 0", "Mean in Gr 1")
rownames(sum_tab) <- categories
for (i in categories) {
sum_tab[i, ] <- with(output_list[[i]],
c(statistic, parameter, p.value, conf.int, estimate))
}
write.csv(sum_tab, "Summary.csv", row.names = TRUE)
P.S.: 由于可重现的例子不充分,我无法运行显示输出。