首页 > 解决方案 > 有没有办法创建一个没有聚合值的子集数据透视表?

问题描述

我一直在与这些问题作斗争,但是有没有办法在 R 中解决这个问题?

Source Table 
╔═══════════╦══════╦═══════╗
║ TEST_NAME ║ SBNO ║  VAL  ║
╠═══════════╬══════╬═══════╣
║ Test1     ║    1 ║ 0.304 ║
║ Test1     ║    2 ║ 0.31  ║
║ Test1     ║    3 ║ 0.306 ║
║ Test2     ║    1 ║ 2.3   ║
║ Test2     ║    2 ║ 2.5   ║
║ Test2     ║    3 ║ 2.4   ║
║ Test3     ║    1 ║ PASS  ║
║ Test3     ║    2 ║ PASS  ║
╚═══════════╩══════╩═══════╝


Desired Output 
╔══════════════════════════╗
║ SBNO Test1 Test2   Test3 ║
╠══════════════════════════╣
║ 1    0.304  2.3    PASS  ║
║ 2    0.31   2.5    PASS  ║
║ 3    0.306  2.4    NULL  ║
╚══════════════════════════╝

*此示例未进行子集化。

非常感谢,罗德里戈几内亚

标签: rpivot-tablereshape2

解决方案


考虑你的 data.frame 是df,我们可以使用spread

> library(tidyr)
> df %>% spread(TEST_NAME, VAL)
  SBNO Test1 Test2 Test3
1    1 0.304   2.3  PASS
2    2  0.31   2.5  PASS
3    3 0.306   2.4  <NA>

推荐阅读