r - 展开 data.frame
问题描述
我有data.frame
几个numeric
值列和一个字符id
列:
df <- data.frame(x=c(1,2,2,3,4,5),y=c(11,12,12,13,14,15),id=c("a","b","c","d","e","f"))
我只想df
将唯一的行 WRT 保留到值列,并用逗号折叠冗余的对应id
s,所以我正在这样做:
library(dplyr)
collapsed.df <- df %>% dplyr::group_by_(.dots=colnames(df)[-3]) %>% dplyr::summarise(id=toString(id)) %>% data.frame()
我的问题是如何展开,collapsed.df
以便以逗号分隔的每个都collapsed.df$id
被拆分,并且由此产生的膨胀data.frame
具有与 WRT 相同的id
顺序df
?
解决方案
您可以使用tidyr::separate_rows
:
collapsed.df %>% separate_rows(id)
# x y id
#1 1 11 a
#2 2 12 b
#3 2 12 c
#4 3 13 d
#5 4 14 e
#6 5 15 f
推荐阅读
- wordpress - 如何通过您的 ID 将产品链接到特定客户?
- django - 如何在 django 中将数据添加到数据库中?
- regex - 在 Google Data Studio 中使用通配符求和?
- python - Python 中的 Pandas 箱线图
- java - Windows 上 JavaFX 应用程序的自包含应用程序打包:InnoSetup 或 javafxpackager?
- python - Keras LSTM 形状不包含序列长度
- node.js - 使用 enctype="multipart/form-data" 以 csrf 错误结束
- javascript - 使用 javascript 更新 React 组件
- .net - 带有实体框架的 SQLite。System.Data.SQLite 数据库文件未显示在数据源中
- c - 具有不同结构的分段错误