如何提取满足特定条件的值
How to extract values meeting a certain criterion
如果您有数据框,例如:
D1 <-(DW$Ag, DW$Al, DW$As, DW$Ba)
*元素浓度
而你运行一个shapiro.test
结果是,例如:
DW.Ag DW.Al DW.As DW.Ba
statistic 0.9030996 0.5204454 0.9761229 0.9286749
p.value 0.01000898 8.873327e-09 0.7157865 0.04528581
并且您需要提取所有等于或小于 0.5 的 p 值,您是怎么做到的?
我试过了:
stat[stat$p.value <= 0.5, ]
stat[which(lres1$p.value <= 0.5), ]
(注意:假设结果的名称是 STAT/list 包含数据..
提前致谢
快速阅读 shapiro 测试的帮助页面表明返回的对象是一个包含多个对象(包括 p 值)的列表项。
str(shapiro.test(rnorm(100, mean = 5, sd = 3)))
因此,如果您要 运行 对多列数字数据进行 shapiro 测试,例如:
df <- data.frame(x1 = rnorm(100, mean = 5, sd = 3), x2 = rnorm(100, mean = 5, sd = 3), x3 = rnorm(100, mean = 5, sd = 3), x4 = rnorm(100, mean = 5, sd = 3))
list <- lapply(df, shapiro.test)
并使用 str()
检查结果。您会在此样本数据上找到第 4 个检验 运行 的 p 值。
str
使用一些循环代码将它们提取出来,你就可以开始了
x <- unlist(lapply(list, `[`, 'p.value'))
x[x <= 0.5]
希望对您有所帮助!
如果您有数据框,例如:
D1 <-(DW$Ag, DW$Al, DW$As, DW$Ba)
*元素浓度
而你运行一个shapiro.test
结果是,例如:
DW.Ag DW.Al DW.As DW.Ba
statistic 0.9030996 0.5204454 0.9761229 0.9286749
p.value 0.01000898 8.873327e-09 0.7157865 0.04528581
并且您需要提取所有等于或小于 0.5 的 p 值,您是怎么做到的? 我试过了:
stat[stat$p.value <= 0.5, ]
stat[which(lres1$p.value <= 0.5), ]
(注意:假设结果的名称是 STAT/list 包含数据..
提前致谢
快速阅读 shapiro 测试的帮助页面表明返回的对象是一个包含多个对象(包括 p 值)的列表项。
str(shapiro.test(rnorm(100, mean = 5, sd = 3)))
因此,如果您要 运行 对多列数字数据进行 shapiro 测试,例如:
df <- data.frame(x1 = rnorm(100, mean = 5, sd = 3), x2 = rnorm(100, mean = 5, sd = 3), x3 = rnorm(100, mean = 5, sd = 3), x4 = rnorm(100, mean = 5, sd = 3))
list <- lapply(df, shapiro.test)
并使用 str()
检查结果。您会在此样本数据上找到第 4 个检验 运行 的 p 值。
str
使用一些循环代码将它们提取出来,你就可以开始了
x <- unlist(lapply(list, `[`, 'p.value'))
x[x <= 0.5]
希望对您有所帮助!