r - 使用 ID 对虚拟表值进行分组
问题描述
我有一个虚拟表,如果您有产品,则为 1,如果没有,则为 0。该表专注于产品,因此每条线都有客户和产品。
但是,一个客户可以有多个产品并出现在许多行中。我想将所有产品(按总和或计数)分组在一行中。例子:
Nulls 应该是零以使解决方案答案查询起作用
我需要这个:
解决方案
一个选项使用dplyr
library(dplyr)
df %>% group_by(Client) %>% summarise_at(vars(TC:CA), function(x) sum(x))
# Client TC CC CA
#1 654 2 1 0
#2 666 0 0 1
#3 667 0 1 0
数据
df <- structure(list(Product = structure(c(3L, 3L, 2L, 1L, 2L), .Label = c("CA",
"CC", "TC"), class = "factor"), Client = structure(c(1L, 1L,
1L, 2L, 3L), .Label = c("654", "666", "667"), class = "factor"),
TC = c(1, 1, 0, 0, 0), CC = c(0, 0, 1, 0, 1), CA = c(0, 0,
0, 1, 0)), .Names = c("Product", "Client", "TC", "CC", "CA"
), row.names = c(NA, -5L), class = "data.frame")
推荐阅读
- node.js - js中的console.log()和console.error()有什么区别?
- angular6 - Angular6 Service Worker 和后台同步
- linux - 确保 bash 脚本变量是有效权限位的有效方法是什么?
- html - 在台式机上响应,但在移动设备上不响应
- tensorflow - 在 Tensorflow 中使用 GRU 将梯度从先前的时间步转移到当前时间步
- android - 如果使用 FaceBook Lite,使用 facebook 登录会导致应用程序崩溃
- python - 通过 Django 发送电子邮件 - WinError 10060 连接尝试失败和 GetAddrInfo 错误
- python - 缩放数组(sklearn) - python
- python - Tkinter 新创建的按钮不执行命令
- swift - Firestore:使用数组比较进行查询