r - 如何以字符变量的元素成为新数据框中的列的方式在 R 中转置数据框
问题描述
这是我正在使用的数据框的示例。
ID <- c(1,1,2,3)
Type <- c('A', 'B', 'A', 'A')
Value <- c(2.5, 8, 10, 7)
df <- data.frame(ID,Type,Value)
df
下面是 df 的样子:
ID | 类型 | 价值 |
---|---|---|
1 | 一种 | 2.5 |
1 | 乙 | 8.0 |
2 | 一种 | 10.0 |
3 | 一种 | 7.0 |
我正在寻找一种方法来转置 df,使字符变量“Type”的元素成为新数据框中的列。
ID | 一种 | 乙 |
---|---|---|
1 | 2.5 | 8 |
2 | 10.0 | 0 |
3 | 7.0 | 0 |
请注意,对于 ID 2 和 3,df 中仅存在类型 A 值,我希望在新数据框中的 B 列下具有零值。
解决方案
我们可以用pivot_wider
library(dplyr)
library(tidyr)
df %>%
pivot_wider(names_from = Type, values_from = Value, values_fill = 0)
-输出
# A tibble: 3 × 3
ID A B
<dbl> <dbl> <dbl>
1 1 2.5 8
2 2 10 0
3 3 7 0
数据
df <- data.frame(ID, Type, Value)
推荐阅读
- flutter - 如何在 onWillPop 方法中使用 pushReplacement
- firebase - 无论如何都缺少 dSYM
- javascript - 使用插件 WPDataTables 添加 Highcharts 数据函数
- javascript - 打字时如何获取键盘光标位置?
- javascript - 浏览器硬刷新时未重新获取嵌入式 appendChild JS 文件
- php - 如果 id 存在于另一个表中并且列在该表上具有特定值,则 Laravel 选择所有行
- javascript - 动态创建元素并希望在纯javascript中使用对话框(如果在对话框外单击则关闭事件)打开它
- solr - Solr 的多词同义词
- ios - 关于 iOS 应用开发的协作和工具的基本问题
- reactjs - 如何将material-ui的主题对象传递给defaultProps?