df[order(df$number),] 但出现错误 Error: fu-6ren">
gpt4 book ai didi

r - 如何使用 r 中的新管道对数据框中的行进行排序?

转载 作者:行者123 更新时间:2023-12-02 18:06:33 25 4
gpt4 key购买 nike

我想为脚本使用新的 R 管道 |>,如下所示:

df <- data.frame (letter=c(rep("a",3), rep("b",3), rep("c",2)),
number = c(1,3,4,7,6,2,5,8))
df <- df[which(df$letter !="c"),]
df <- df[order(df$number),]

我试过了

df <- data.frame (letter=c(rep("a",3), rep("b",3), rep("c",2)),
number = c(1,3,4,7,6,2,5,8)) |>
df[which(df$letter !="c"),] |>
df[order(df$number),]

但出现错误

Error: function '[' not supported in RHS call of a pipe

在这种情况下如何使用 |> 来过滤和排序数据框中的行?

最佳答案

您可以使用 [ 作为函数,然后应用 |> 运算符,如下所示

df <- df |> (\(x)`[`(x,which(df$letter !="c") ,))()

df |> (\(x)`[`(x,order(df$number) ,))()

  • 输出
  letter number
1 a 1
6 b 2
2 a 3
3 a 4
5 b 6
4 b 7

关于r - 如何使用 r 中的新管道对数据框中的行进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73145010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com