Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中排序列表(shapiro测试结果)?_R_List_Anova_Normal Distribution - Fatal编程技术网

如何在R中排序列表(shapiro测试结果)?

如何在R中排序列表(shapiro测试结果)?,r,list,anova,normal-distribution,R,List,Anova,Normal Distribution,我需要帮助排序列表中的结果。以下是与我的数据相似的可复制样本: da.ma <-matrix(1:22000, 10, 22) ## a sample matrix n <-seq(max(length(da.ma[1,]))) ## naming cols and rows for (i in n) { c.names <- paste("k", n, sep = "") } colnames(da.ma) <- c.n

我需要帮助排序列表中的结果。以下是与我的数据相似的可复制样本:

da.ma <-matrix(1:22000, 10, 22) ## a sample matrix

n <-seq(max(length(da.ma[1,]))) ## naming cols and rows
for (i in n) {
    c.names <- paste("k", n, sep = "")
}
colnames(da.ma) <- c.names 

n.pdf <-seq(length(da.ma[,1]))
for (i in n.pdf) {
    r.names <- paste("text",n.pdf, sep ="")
}
rownames(da.ma) <- r.names
col.names <-names(da.ma[1,])

da.ma <-cbind(id =seq(length(da.ma[,1])), da.ma) ##adding the id col
library(tibble)
data <- as_tibble(da.ma)

library(rstatix)
in.anova <- data %>%  ## in-put data for anova & shapiro tests
  gather(key = "L", value = "V", all_of(col.names)) %>%
  convert_as_factor(id, L)


library(rstatix)  ##running the test
norm_sapiro <-in.anova %>%      
  group_by(L) %>%
  shapiro_test(V)
我如何将结果按顺序排列(k1、k2、k3、k4、k5…k22)。请注意,我需要相应的值也是有序的

另外,当我绘制一个绘图时,我需要
Ls
处于有序状态。针对上述数据运行此代码(查看X轴)


您可以使用
stringr::stru sort
L
转换为因子,然后进行排序:

df %>% 
  mutate(L = factor(L, str_sort(L, numeric = T))) %>% 
  arrange(L)
或者使用
readr::parse_number

df[order(readr::parse_number(df$L)),]
如果
L
就这么简单,那么您只需提取数字并执行以下操作:

df[order(as.numeric(gsub("k", "", df$L))),] # gsub("\\D+", "", df$L) also works

您可以使用
stringr::stru sort
L
转换为因子,然后进行排序:

df %>% 
  mutate(L = factor(L, str_sort(L, numeric = T))) %>% 
  arrange(L)
或者使用
readr::parse_number

df[order(readr::parse_number(df$L)),]
如果
L
就这么简单,那么您只需提取数字并执行以下操作:

df[order(as.numeric(gsub("k", "", df$L))),] # gsub("\\D+", "", df$L) also works

convert_as_factor(,id,L)中出错:找不到函数“convert_as_factor”“@IRTFM my bad!它在图书馆里。现在看一看。“convert_as_factor(,id,L)中出错:找不到函数“convert_as_factor”“@IRTFM my bad!”!它在图书馆里。现在看一看。tnx很多。当我画一个图的时候,我也有同样的问题。我需要Ls在X轴上保持有序。我更新了问题。如果你将
L
设置为一个因子,那么它应该以正确的顺序绘制。如果是相反的,考虑将它封装在<代码>猫::fCTyReV中,或者将排序从升序变为下降。当我画一个图的时候,我也有同样的问题。我需要Ls在X轴上保持有序。我更新了问题。如果你将
L
设置为一个因子,那么它应该以正确的顺序绘制。如果是相反的,考虑将它封装在猫::fCTyReV中,或者将排序从升序变为降序。