r - 向 df 添加一列,计算另一列中某个值的出现次数
问题描述
我想要做的是通过“地点”添加一列,计算整个“id”列中的id出现:
id <- c(204850, 204850, 204850,312512,312512,452452,285421,758412,758412,758412)
places <- c("kitchen","kitchen","garden","salon","salon","salon","bathroom","garden","bathroom","garden")
df <- data.frame(id, places)
> df
id places
1 204850 kitchen
2 204850 kitchen
3 204850 garden
4 312512 salon
5 312512 salon
6 452452 salon
7 285421 bathroom
8 758412 garden
9 758412 bathroom
10 758412 garden
我看到的唯一选择是按 dplyr 中的计数,但它是创建一个新的数据框。
输出应如下所示:
> df
id places id_occurrence
1 204850 kitchen 3
2 204850 kitchen 3
3 204850 garden 3
4 312512 salon 2
5 312512 salon 2
6 452452 salon 1
7 285421 bathroom 1
8 758412 garden 3
9 758412 bathroom 3
10 758412 garden 3
解决方案
您可以使用以下解决方案:
library(dplyr)
df %>%
group_by(id) %>%
add_count(name = "id_occurrence")
# A tibble: 10 x 3
# Groups: id [5]
id places id_occurrence
<dbl> <chr> <int>
1 204850 kitchen 3
2 204850 kitchen 3
3 204850 garden 3
4 312512 salon 2
5 312512 salon 2
6 452452 salon 1
7 285421 bathroom 1
8 758412 garden 3
9 758412 bathroom 3
10 758412 garden 3
推荐阅读
- r - 将具有年度值的行拆分为具有月度值的行
- reactjs - 如何使用 Flow 将返回类型指定为 React 组件列表
- php - 如何使用 gotte 和 guzzle 客户端 6 发送 cookie
- c# - 如何在 Xamarin 表单滑块控件中显示刻度线
- android - gradle 发现版本错误
- javascript - 如何将值从 javascript 传递到 iOS UIWebView
- php - 重构 Eloquent Collection 以获得更好的 API 访问
- java - Seleniuim with java:获取 Excel 文件数据未在控制台上获得完整输出-
- javascript - 从成功的正则表达式中获取字符串?
- javascript - 如何使用react js检测android / ios手机中是否按下了后退按钮