map_dbl 后订单未给出正确答案
order not giving correct answer after map_dbl
想知道以下是否是错误...
数据框
df <- data.frame(Name=rep(letters[1:3],each=3), Value=c(20,40,35,70,80,90,10,20,30))
一些操作
library(tidyverse)
df1 <- split(df, df$Name) %>%
map(., ~.x %>% arrange(desc(Value)))
df2 <- map_dbl(df1, ~head(.x$Value, 1))
--查看数据
head(df2)
a b c
40 90 30
str(df2)
Named num [1:3] 40 90 30
- attr(*, "names")= chr [1:3] "a" "b" "c"
--BUG?
order(df2)
[1] 3 1 2
给出了错误的答案,但是
df2['a'] > df2['c']
TRUE
给出正确答案。我做错了什么吗?
默认情况下,order
有 decreasing = FALSE
。这意味着它给出 升序 顺序。要从最高处向下排序,我们可以这样做
order(df2, decreasing = TRUE)
# [1] 2 1 3
R 中的 order
将 return 原始列表中的排序位置 order returns 将其第一个参数重新排列为升序的排列或降序
例如:
Dat=data.frame(a=c(2,1,4,6,3),b=c(1,2,3,4,5))
order(Dat$a)
[1] 2 1 5 3 4
Dat[order(Dat$a),]
a b
2 1 2
1 2 1
5 3 5
3 4 3
4 6 4
您正在寻找排名 Returns 向量中值的样本排名
rank(Dat$a)
[1] 2 1 4 5 3
想知道以下是否是错误...
数据框
df <- data.frame(Name=rep(letters[1:3],each=3), Value=c(20,40,35,70,80,90,10,20,30))
一些操作
library(tidyverse)
df1 <- split(df, df$Name) %>%
map(., ~.x %>% arrange(desc(Value)))
df2 <- map_dbl(df1, ~head(.x$Value, 1))
--查看数据
head(df2)
a b c
40 90 30
str(df2)
Named num [1:3] 40 90 30
- attr(*, "names")= chr [1:3] "a" "b" "c"
--BUG?
order(df2)
[1] 3 1 2
给出了错误的答案,但是
df2['a'] > df2['c']
TRUE
给出正确答案。我做错了什么吗?
默认情况下,order
有 decreasing = FALSE
。这意味着它给出 升序 顺序。要从最高处向下排序,我们可以这样做
order(df2, decreasing = TRUE)
# [1] 2 1 3
order
将 return 原始列表中的排序位置 order returns 将其第一个参数重新排列为升序的排列或降序
例如:
Dat=data.frame(a=c(2,1,4,6,3),b=c(1,2,3,4,5))
order(Dat$a)
[1] 2 1 5 3 4
Dat[order(Dat$a),]
a b
2 1 2
1 2 1
5 3 5
3 4 3
4 6 4
您正在寻找排名 Returns 向量中值的样本排名
rank(Dat$a)
[1] 2 1 4 5 3