Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 如何通过多个变量进行重复_R_Loops - Fatal编程技术网

R 如何通过多个变量进行重复

R 如何通过多个变量进行重复,r,loops,R,Loops,我有一个样本数据集,如下所示: Day<-c(1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2) Group<-c("A","A","A","B","B","B","C","C","C","A","A","A","

我有一个样本数据集,如下所示:

Day<-c(1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2)
Group<-c("A","A","A","B","B","B","C","C","C","A","A","A","A","B","B","B","C","C","C")
Rain<-c(4,4,6,5,3,4,5,5,3,6,6,6,5,3,3,3,2,5,2)
UV<-c(6,6,7,8,5,6,5,6,6,6,7,7,8,8,5,6,8,5,7)

dat<-data.frame(Day,Group,Rain,UV)
dat_Rain<-dat%>%select(c(Day,Group,Rain))

library(rstatix)
library(tidyverse)
dat_Rain%>% 
  group_by(Day) %>% 
  kruskal_test(Rain ~ Group)

Day使用
lappy
并利用助手功能,可以这样实现:

此外,我还使用
bind_rows
将结果列表绑定到一个数据帧中

1天1雨9 0.505 2 0.777克鲁斯卡尔瓦利斯
#>2雨水10 6.52 2 0.0384 Kruskal Wallis
#>3 1紫外线9 1.16 2 0.56 Kruskal Wallis
#>4 2紫外线10 0.423 2 0.809 Kruskal Wallis

使用
lappy
并利用助手功能,可以如下实现:

此外,我还使用
bind_rows
将结果列表绑定到一个数据帧中

1天1雨9 0.505 2 0.777克鲁斯卡尔瓦利斯
#>2雨水10 6.52 2 0.0384 Kruskal Wallis
#>3 1紫外线9 1.16 2 0.56 Kruskal Wallis
#>4 2紫外线10 0.423 2 0.809 Kruskal Wallis

您可以定义要应用的列
kruskal_test
,并使用
map_df
获取一个数据帧中的所有值

library(rstatix)
library(tidyverse)

cols <- c('Rain', 'UV')
map_df(cols, ~dat %>% group_by(Day) %>% kruskal_test(reformulate('Group', .x)))

#    Day .y.       n statistic    df      p method        
#  <dbl> <chr> <int>     <dbl> <int>  <dbl> <chr>         
#1     1 Rain      9     0.505     2 0.777  Kruskal-Wallis
#2     2 Rain     10     6.52      2 0.0384 Kruskal-Wallis
#3     1 UV        9     1.16      2 0.56   Kruskal-Wallis
#4     2 UV       10     0.423     2 0.809  Kruskal-Wallis
库(rstatix)
图书馆(tidyverse)
cols%按(天)分组%>%kruskal_检验(重新编制('group',.x)))
#天啊。n统计dfp方法
#                      
#1雨水9 0.505 2 0.777克鲁斯卡尔瓦利斯
#2雨水10 6.52 2 0.0384 Kruskal Wallis
#3 1紫外线9 1.16 2 0.56 Kruskal Wallis
#4 2紫外线10 0.423 2 0.809 Kruskal Wallis

您可以定义要应用的列
kruskal_test
,并使用
map_df
获取一个数据帧中的所有值

library(rstatix)
library(tidyverse)

cols <- c('Rain', 'UV')
map_df(cols, ~dat %>% group_by(Day) %>% kruskal_test(reformulate('Group', .x)))

#    Day .y.       n statistic    df      p method        
#  <dbl> <chr> <int>     <dbl> <int>  <dbl> <chr>         
#1     1 Rain      9     0.505     2 0.777  Kruskal-Wallis
#2     2 Rain     10     6.52      2 0.0384 Kruskal-Wallis
#3     1 UV        9     1.16      2 0.56   Kruskal-Wallis
#4     2 UV       10     0.423     2 0.809  Kruskal-Wallis
库(rstatix)
图书馆(tidyverse)
cols%按(天)分组%>%kruskal_检验(重新编制('group',.x)))
#天啊。n统计dfp方法
#                      
#1雨水9 0.505 2 0.777克鲁斯卡尔瓦利斯
#2雨水10 6.52 2 0.0384 Kruskal Wallis
#3 1紫外线9 1.16 2 0.56 Kruskal Wallis
#4 2紫外线10 0.423 2 0.809 Kruskal Wallis

您可以重塑为长格式并使用第二个分组变量。您可以重塑为长格式并使用第二个分组变量。