- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有一个数据框:
value = c(1:5,16:20, 26:30)
group = c(rep("A", 5), rep("B", 5), rep("C", 5))
df = data.frame(value, group)
我想创建一个新的数据框,其中包含每个组的 top_n 值,使得 A 组的 n = 3,B 组的 n = 2,C 组的 n = 1。
# new dataframe should look like this:
value group
1 5 A
2 4 A
3 3 A
4 20 B
5 19 B
6 30 C
我想我应该将 top_n 函数映射到我的数据,但我正在努力寻找正确的实现。
最佳答案
你可以使用 tail
在Map
打电话。
do.call(rbind, Map(tail, split(df, df$group), 3:1))
# value group
# A.3 3 A
# A.4 4 A
# A.5 5 A
# B.9 19 B
# B.10 20 B
# C 30 C
注意:如果数据没有像给定示例中那样很好地排序,请预先排序,例如df <- with(df, df[order(group, value), ])
.
数据
df <- structure(list(value = c(1L, 2L, 3L, 4L, 5L, 16L, 17L, 18L, 19L,
20L, 26L, 27L, 28L, 29L, 30L), group = structure(c(1L, 1L, 1L,
1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L), .Label = c("A",
"B", "C"), class = "factor")), class = "data.frame", row.names = c(NA,
-15L))
关于r - 将 top_n 函数映射到分组数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56630317/
我对 r 很陌生(而且很累 - 我想我的大脑目前无法正常工作)但对我来说,下面的代码应该只返回 10 行 - 它返回 66。这是为什么? library(dplyr) a <- structure(l
目的:按降序绘制前 20 个国家 问题:当使用top_n函数时,它坚持选择所有而不仅仅是前20名。 这是我的代码: #Omit missing values na.omit(kiva_loans)%>
我有一些如下所示的 R 代码: rawList % select(colIndex) %>% top_n(rows) 这会按我的预期执行,但是当它运行时,我得到如下所示的输出: Selecting b
假设我有一个数据框: value = c(1:5,16:20, 26:30) group = c(rep("A", 5), rep("B", 5), rep("C", 5)) df = data.fr
top_n() 命令是否可以同时返回最大值和最小值? 使用引用页面 https://dplyr.tidyverse.org/reference/top_n.html 中的示例 我尝试了以下 df %
我想我问过专家 - 抱歉,这更像是一个代码审查问题,但我在下面添加了它。以下代码是否可以获取最接近第一行的 top_n 个案例 - 忽略第一行: example_df <- data.frame(
我无法理解 dplyr 的 top_n 函数的输出。有人可以帮忙吗? n=10 df = data.frame(ref=sample(letters,n),score=rnorm(n)) requir
嗨,这是我的第一篇文章, 我希望它是正确的并且可以重现。 我想知道是否有比我下面的方法更优雅的解决方案 我有一个数据框,想使用条件过滤器并提取满足这些条件的行。 作为输出,我希望满足条件标准的前 n
我正在尝试编写一个 R 脚本来执行以下任务。我有两个问题: library(dplyr); library(magrittr) ( tibs % rep(2), ele
我有一个名为df的数据框: City,State,Price,Dogs Portland,OR,75,1 Portland,OR,100,3 San Diego,CA,12,4 San Diego,C
我有一个数据框 数据1 Country Count 1 AUS 1 2 NZ 2 3 NZ 1 4 USA 3 5
我是一名优秀的程序员,十分优秀!