【发布时间】:2021-08-05 00:19:56
【问题描述】:
我有一个包含 ID 列和值列的数据集,我运行了 Shapiro Wilk 测试,以检查 ID 列中不同值在值列中的值的正态性。我想要做的是创建一个有 4 列的数据框。第一个是 ID 的名称,第二个是 W 值,第三个是 p 值。第四列将具有非正常/正常值或根据 p 值接受 H1。这是输出
dput(df)
structure(list(ID = c("F1", "F1", "F1", "F1", "F1", "F1", "F1",
"F2", "F2", "F2", "F2", "F2", "F2", "F2", "F2", "F3", "F3", "F3",
"F3", "F3", "F3", "F3", "F3", "F3", "F4", "F4", "F4", "F4", "F4",
"F4", "F4", "F4"), Values = c(9.6, NA, 10.2, 9.8, 9.9, 9.9, 9.9,
1.2, 1.2, 1.8, 1.5, 1.5, 1.6, 1.4, NA, 3266, 3256, 7044, 6868,
NA, 3405, 3410, NA, 5567, 59.4, 56, 52.8, 52.4, 55.5, NA, NA,
53.6)), class = "data.frame", row.names = c(NA, -32L))
这是我迄今为止所做的,目的是运行所有 ID 的测试并努力创建一个数据框。
install.packages("data.table")
library(data.table)
uniq_id <- unique(df$ID)
number_loops <- length(uniq_id)
headings <- c("ID", "Wilk", "p_value","Accept H1")
df_table <- as.data.frame(matrix(NA, nrow = (number_loops ), ncol = length(headings)))
for(i in unique(df$ID)){
u <- setDT(df)[ID == i]
s <- shapiro.test(u$Values)
print(i)
print(s)
}
【问题讨论】:
-
为了提高您的回复机会,我将从这里开始:stackoverflow.com/help/someone-answers