r - 如何连接两列以创建新列?
问题描述
我有这个数据。
datetime user_id song_id
1 2019-03-26 6 31
2 2019-03-26 4 30
3 2019-03-26 3 31
4 2019-03-26 9 34
5 2019-03-26 10 21
6 2019-03-26 8 38
7 2019-03-26 8 33
8 2019-03-26 8 28
9 2019-03-26 6 30
我想做第三列,所以数据看起来像这样
datetime user_id song_id usersong_id
1 2019-03-26 6 31 631
2 2019-03-26 4 30 430
3 2019-03-26 3 31 331
4 2019-03-26 9 34 934
5 2019-03-26 10 21 1021
6 2019-03-26 8 38 838
7 2019-03-26 8 33 833
8 2019-03-26 8 28 828
9 2019-03-26 6 30 630
我试过这段代码。
df %>%
group_by(user_id, song_id) %>%
summarize(count = n()) %>%
mutate(usersong_id = c(user_id, song_id))
但是,它给了我这个错误:
错误:列
usersong_id
的长度必须为 1(组大小),而不是 2
解决方案
您可以使用以下任何一种:
df <- df %>%
mutate(usersong_id = paste0(user_id, song_id))
df <- df %>%
unite(user_song_id, user_id, song_id, sep = "", remove = FALSE)
df$usersong_id <- paste0(df$user_id, df$song_id)
推荐阅读
- selenium - 带有复选框的下拉菜单,需要使用 select 功能选择和取消选择复选框并使用 selenium 获取关联的值
- microservices - 微服务架构中客户端到 API 网关的通信
- php - 为什么我得到 Class '\App\Teacher' not found 错误
- vb.net - 将字体样式更改为 Richtextbox vb.net
- java - 使用 Apache Spark Java“转换”传感器数据
- java - 错误:类 Droid 中的构造函数 Droid 不能应用于给定类型;
- sql-server - 如何使用 docker 在 nginx 上部署具有 angular 6 作为前端、后端为 Asp dot net core 和 SQL 服务器作为数据库的 Web 应用程序
- java - java WebProject的依赖jar文件的ClassNotFoundException
- algorithm - 在单链表和双链表中删除的时间复杂度是多少?
- javascript - AngularJS(路由)在 Eclipse 的 Maven SpringBoot 项目中找不到 .html 模板