【问题标题】:R loop to find minimal and maximal value in dataframe [duplicate]R循环在数据框中找到最小值和最大值[重复]
【发布时间】:2018-01-16 14:34:18
【问题描述】:

我在 R 工作。

我有一个包含三列的数据框 df。结构如下:

df <- data.frame(c(11:15,4:7,21:24), c(rep("A",9),rep("B",4)), c(rep("X",5),rep("Y",4),rep("X",4)))
colnames(df) <- c("pos","name","name2")

例子:

pos   name   name2
11    A      X 
12    A      X
13    A      X
14    A      X
15    A      X
4     A      Y
5     A      Y
6     A      Y
7     A      Y
21    B      X
22    B      X
23    B      X
24    B      X

从这个数据框,我想创建一个新的(df_new),看起来像这样

name    name2   pos_min   pos_max
A       X       11        15
A       Y       4         7
B       X       21        24

因此,对于 name 和 name2 的每个唯一组合(在本例中:A-X、A-Y 和 B-X),我想将 df$pos 的最小值和最大值放在两个新列中。

谁能帮我实现这个目标?

【问题讨论】:

    标签: r


    【解决方案1】:

    这可以使用dplyr 包解决:

    df_new <- df %>%
              group_by(name, name2) %>%
              summarise(pos_min = min(pos),
                        pos_max = max(pos))
    

    【讨论】:

    • 我只能访问 dplyr 不可用的 R 2.15.1。这也可以用 plyr 实现吗?
    猜你喜欢
    • 2019-03-12
    • 2023-03-18
    • 2016-03-16
    • 1970-01-01
    • 2022-09-29
    • 1970-01-01
    • 2013-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多