r - R - 折叠观察并创建新列
问题描述
在我的数据框中,单个观察有多行(每行由 引用ref
)。我想折叠行并为该列创建新列keyword
。结果将包括与keyowrd
观察的行数一样多的列(例如keyword_1
,keyword_2
等)。你有什么主意吗?非常感谢。
这是我的 MWE
df1 <- structure(list(rif = c("text10", "text10", "text10", "text11", "text11"),
date = c("20180329", "20180329", "20180329", "20180329", "20180329"),
keyword = c("Lucca", "Piacenza", "Milano", "Cascina", "Padova")),
row.names = c(NA, 5L), class = "data.frame")
解决方案
这是否有效:
library(dplyr)
library(tidyr)
df1 %>% group_by(rif,date) %>% mutate(n = row_number()) %>% pivot_wider(id_cols = c(rif,date), values_from = keyword, names_from = n, names_prefix = 'keyword')
# A tibble: 2 x 5
# Groups: rif, date [2]
rif date keyword1 keyword2 keyword3
<chr> <chr> <chr> <chr> <chr>
1 text10 20180329 Lucca Piacenza Milano
2 text11 20180329 Cascina Padova NA
推荐阅读
- dns - 如何将特定的dns请求转发到bind9中的另一个dns服务器
- android - 使用 EncryptedSharedPreferences 时出现 ANR
- latex - 背页中的 12pt,Latex 对应于 Microsoft Word 中的字体 12?
- javascript - (节点:1984)UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“电子邮件”
- php - PHP日期函数不尊重 date_default_timezone_set
- wordpress - Nginx 反向代理:如何反向代理在外部 IP 上运行的 wordpress 站点
- git - 克隆一个镜像的本地 Git 存储库
- python - Python - 如何将过滤器应用于视频?
- python - 如何登录多个 Telegram 帐户并向群组发送消息
- javascript - Azure Functions Blobtrigger 读取文件并将数据存储在数据库中