将R转换为宽格式,并根据列中的值进行排列

Nereus

我有一张表格,其中包含来自各种样本(“ sample1”等)的数据,使用这些数据进行了几种类型的测量(A至C)。每次测量均给出3个值:浓度,最大值和最小值。

my.sample <- c("sample1", "sample1", "sample2", "sample2", "sample3")
type <- c("A", "B", "A", "C", "C")
concentration <- c(12, 5, 7, 10, 14)
max <- c(13, 6, 7, 11, 15)
min <- c(11, 4, 6, 9, 13)

mydata <- data.frame(my.sample, type, concentration, max, min)

> mydata
  my.sample type concentration max min
1   sample1    A            12  13  11
2   sample1    B             5   6   4
3   sample2    A             7   7   6
4   sample2    C            10  11   9
5   sample3    C            14  15  13

我想将此数据转换为一个新表,其中每个样本只有一行。这意味着针对每种测量类型创建3列(浓度,最大值,最小值),并在该列中指示测量类型。缺少的值应定义为NA这是我想要获得的结果的一个示例:

A_concentration <- c(12, 7, NA)
A_max <- c(13, 7, NA)
A_min <- c(11, 6, NA)

B_concentration <- c(5, NA, NA)
B_max <- c(6, NA, NA)
B_min <- c(4, NA, NA)

C_concentration <- c(NA, 10, 14)
C_max <- c(NA, 11, 15)
C_min <- c(NA, 9, 13)

mydata.new <- data.frame(my.sample.new, A_concentration, A_max, A_min, B_concentration, B_max, B_min, C_concentration, C_max, C_min)

> mydata.new
  my.sample.new A_concentration A_max A_min B_concentration B_max B_min
1       sample1              12    13    11               5     6     4
2       sample2               7     7     6              NA    NA    NA
3       sample3              NA    NA    NA              NA    NA    NA
  C_concentration C_max C_min
1              NA    NA    NA
2              10    11     9
3              14    15    13

有没有一种方法可以根据条件来扩大数据并 type在列名中包含一个值(在这里:from )?我的真实数据集中有更多类型,因此理想情况下应该具有可概括性。

马特

这有效:

library(dplyr)

mydata %>% 
  pivot_wider(id_cols = my.sample, names_from = type, values_from = c(concentration, max, min), names_glue = "{type}_{.value}") %>% 
  select(my.sample, starts_with("A"), starts_with("B"), starts_with("C"))

这给了我们:

# A tibble: 3 x 10
  my.sample A_concentration B_concentration C_concentration A_max B_max C_max A_min B_min C_min
  <chr>               <dbl>           <dbl>           <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 sample1                12               5              NA    13     6    NA    11     4    NA
2 sample2                 7              NA              10     7    NA    11     6    NA     9
3 sample3                NA              NA              14    NA    NA    15    NA    NA    13

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据列中的值将R转换为宽格式

来自分类Dev

将长格式数据帧转换为宽格式但保留 R 中的列数

来自分类Dev

dplyr和tidyr:将长格式转换为宽格式并排列列

来自分类Dev

将大型的宽格式数据(1982列)融为长格式,然后有效地将其转换为R中的宽格式

来自分类Dev

如何将DataFrame从长格式转换为宽格式,按计数汇总列的值

来自分类Dev

使用R中的两个因素将长格式转换为宽格式

来自分类Dev

无法在R中从长格式准确转换为宽格式

来自分类Dev

将长格式转换为宽格式

来自分类Dev

将长格式转换为宽格式

来自分类Dev

将因子组合转换为R中存在/不存在的宽格式表

来自分类Dev

将数据集从“宽”格式转换为“长”格式,并将时间列转换为时间格式以进行时间序列分析

来自分类Dev

将“日期时间”列中的值转换为通用格式

来自分类Dev

根据Excel中的值将行转换为列?

来自分类Dev

将值转换为R中的时间格式

来自分类Dev

将长格式转换为宽

来自分类Dev

如何在SQL中使用数字值将长格式转换为宽格式

来自分类Dev

将复杂的宽数据转换为R中的long

来自分类Dev

将列值转换为R中的各个列

来自分类Dev

将数组的列转换为R中的单个值的列

来自分类Dev

将列值转换为R中的各个列

来自分类Dev

将分类数据从长格式转换为宽格式

来自分类Dev

使用melt()将宽数据转换为需要值查找的长数据格式

来自分类Dev

使用melt()将宽数据转换为需要值查找的长数据格式

来自分类Dev

将行值转换为R中的列

来自分类Dev

将列值转换为R中的日期

来自分类Dev

将多列值转换为 R 中的分位数

来自分类Dev

在R中将数据帧从“宽”格式转换为“长”格式

来自分类Dev

R如何从长格式转换为宽格式

来自分类Dev

根据数据中存在的相似对排列 R 中的列值

Related 相关文章

  1. 1

    根据列中的值将R转换为宽格式

  2. 2

    将长格式数据帧转换为宽格式但保留 R 中的列数

  3. 3

    dplyr和tidyr:将长格式转换为宽格式并排列列

  4. 4

    将大型的宽格式数据(1982列)融为长格式,然后有效地将其转换为R中的宽格式

  5. 5

    如何将DataFrame从长格式转换为宽格式,按计数汇总列的值

  6. 6

    使用R中的两个因素将长格式转换为宽格式

  7. 7

    无法在R中从长格式准确转换为宽格式

  8. 8

    将长格式转换为宽格式

  9. 9

    将长格式转换为宽格式

  10. 10

    将因子组合转换为R中存在/不存在的宽格式表

  11. 11

    将数据集从“宽”格式转换为“长”格式,并将时间列转换为时间格式以进行时间序列分析

  12. 12

    将“日期时间”列中的值转换为通用格式

  13. 13

    根据Excel中的值将行转换为列?

  14. 14

    将值转换为R中的时间格式

  15. 15

    将长格式转换为宽

  16. 16

    如何在SQL中使用数字值将长格式转换为宽格式

  17. 17

    将复杂的宽数据转换为R中的long

  18. 18

    将列值转换为R中的各个列

  19. 19

    将数组的列转换为R中的单个值的列

  20. 20

    将列值转换为R中的各个列

  21. 21

    将分类数据从长格式转换为宽格式

  22. 22

    使用melt()将宽数据转换为需要值查找的长数据格式

  23. 23

    使用melt()将宽数据转换为需要值查找的长数据格式

  24. 24

    将行值转换为R中的列

  25. 25

    将列值转换为R中的日期

  26. 26

    将多列值转换为 R 中的分位数

  27. 27

    在R中将数据帧从“宽”格式转换为“长”格式

  28. 28

    R如何从长格式转换为宽格式

  29. 29

    根据数据中存在的相似对排列 R 中的列值

热门标签

归档