如何在 R 数据帧中找到 ID 明智的频率?

要在 R 数据帧中查找 ID 明智的频率,我们可以在使用 group_by 函数定义 ID 后使用 dplyr 包的汇总函数,我们想要查找频率的列也将放置在 group_by 函数中。

查看以下示例以了解如何完成。

示例 1

以下代码段创建了一个示例数据框 -

ID<-sample(1:4,20,replace=TRUE)

Sales<-sample(1:10,20,replace=TRUE)

df1<-data.frame(ID,Sales)

df1

创建以下数据框 -

   ID Sales

1  4   4

2  1   3  

3  4   9

4  4   8

5  2   6

6  1   9

7  2   8

8  1   8

9  1   6

10 1   1

11 4   6

12 2   9

13 2  10

14 2   6

15 3   2

16 3   9

17 4   6

18 1   8

19 2  10

20 2   1

要加载 dplyr 包并在 df1 中创建一个 ID 明智的频率列,请将以下代码添加到上面的代码段中 -

library(dplyr)

df1%>%group_by(ID,Sales)%>%summarise(Frequency=n())

`summarise()` regrouping output by 'ID' (override with `.groups` argument)

# A tibble: 16 x 3

# Groups: ID [4]

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

   ID  Sales Frequency

  <int> <int> <int>

1  1    1      1

2  1    3      1

3  1    6      1

4  1    8      2

5  1    9      1

6  2    1      1

7  2    6      2

8  2    8      1

9  2    9      1

10 2   10      2

11 3    2      1

12 3    9      1

13 4    4      1

14 4    6      2

15 4    8      1

16 4    9      1

示例 2

以下代码段创建了一个示例数据框 -

ID<-sample(0:2,20,replace=TRUE)

Group<-sample(c("I","II","III"),20,replace=TRUE)

df2<-data.frame(ID,Group)

df2

创建以下数据框 -

  ID Group

1  2 III

2  0   I

3  0   I

4  0   I

5  2 III

6  0  II

7  2  II

8  2  II

9  1 III

10 2   I

11 1  II

12 1   I

13 1   I

14 1   I

15 2  II

16 0  II

17 1   I

18 2   I

19 2   I

20 0 III

要在 df2 中创建一个 ID 明智的频率列,请将以下代码添加到上面的代码段中 -

df2%>%group_by(ID,Group)%>%summarise(Frequency=n())

`summarise()` regrouping output by 'ID' (override with `.groups` argument)

# A tibble: 9 x 3

# Groups: ID [3]

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

  ID Group Frequency

 <int><chr> <int>

1  0    I    3

2  0   II    2

3  0  III    1

4  1    I    4

5  1   II    1

6  1  III    1

7  2    I    3

8  2   II    3

9  2  III    2

以上是 如何在 R 数据帧中找到 ID 明智的频率? 的全部内容, 来源链接: utcz.com/z/338661.html

回到顶部