Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.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 - Fatal编程技术网

数据透视将列中的值复制为宽格式,而不使用R进行聚合

数据透视将列中的值复制为宽格式,而不使用R进行聚合,r,R,我有一个类似于本文中描述的数据集的数据集,并尝试使用R中描述的解决方案。但是,如果不聚合数据,我无法创建所需的表 Day <- c(3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5) Treatment <- c("M1", "M1", "M2", "M2", "M3", "M3", "M1", "M1&quo

我有一个类似于本文中描述的数据集的数据集,并尝试使用R中描述的解决方案。但是,如果不聚合数据,我无法创建所需的表

Day <-    c(3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5)
Treatment <- c("M1", "M1", "M2", "M2", "M3", "M3", "M1", "M1", "M2", "M2", "M3", "M3")
Values <- c(2, 3, 5, 7, 7, 9, 3, 3, 5, 5, 7, 2)

tx <- data.frame(Day,Treatment, Values)

    Day Treatment Values
1:    3        M1      2
2:    3        M1      3
3:    3        M2      5
4:    3        M2      7
5:    3        M3      7
6:    3        M3      9
7:    5        M1      3
8:    5        M1      3
9:    5        M2      5
10:   5        M2      5
11:   5        M3      7
12:   5        M3      2
我想创建以下输出:

       Day   M1    M2    M3
 #1     3     2     5     7
 #2     3     3     7     9
 #3     5     3     5     7
 #4     5     3     5     2

对于每个
治疗
创建一个唯一的ID列,并将数据转换为宽格式

library(dplyr)
library(tidyr)

tx %>%
  group_by(Day, Treatment) %>%
  mutate(row = row_number()) %>%
  pivot_wider(names_from = Treatment, values_from = Values) %>%
  ungroup %>%
  select(-row)

#    Day    M1    M2    M3
#  <dbl> <dbl> <dbl> <dbl>
#1     3     2     5     7
#2     3     3     7     9
#3     5     3     5     7
#4     5     3     5     2
库(dplyr)
图书馆(tidyr)
tx%>%
按(天,治疗)分组%>%
变异(行=行编号())%>%
枢轴宽度(名称从=治疗,值从=值)%>%
解组%>%
选择(-行)
#第M1天M2 M3
#     
#1     3     2     5     7
#2     3     3     7     9
#3     5     3     5     7
#4     5     3     5     2

对于每个
治疗
创建一个唯一的ID列,并将数据转换为宽格式

library(dplyr)
library(tidyr)

tx %>%
  group_by(Day, Treatment) %>%
  mutate(row = row_number()) %>%
  pivot_wider(names_from = Treatment, values_from = Values) %>%
  ungroup %>%
  select(-row)

#    Day    M1    M2    M3
#  <dbl> <dbl> <dbl> <dbl>
#1     3     2     5     7
#2     3     3     7     9
#3     5     3     5     7
#4     5     3     5     2
库(dplyr)
图书馆(tidyr)
tx%>%
按(天,治疗)分组%>%
变异(行=行编号())%>%
枢轴宽度(名称从=治疗,值从=值)%>%
解组%>%
选择(-行)
#第M1天M2 M3
#     
#1     3     2     5     7
#2     3     3     7     9
#3     5     3     5     7
#4     5     3     5     2

太棒了!我花了一整天的时间寻找解决方案,而你却让它看起来如此简单。太棒了!我花了一整天的时间寻找解决方案,而你却让它看起来如此简单。