在 R 数据框列中查找存在 n 次的值。
要查找在 R 数据框列中存在 n 次的值,我们首先需要使用 factor 对该列进行制表,然后提取该列的水平,之后使用 as.numeric 读取它们。
查看下面给出的示例,了解如何实现。
示例 1
以下代码片段创建了一个示例数据框 -
x<-rpois(20,1) df1<-data.frame(x) df1
创建了以下数据框
x 1 2 2 0 3 1 4 1 5 1 6 0 7 0 8 1 9 5 10 2 11 1 12 0 13 1 14 2 15 0 16 0 17 0 18 0 19 1 20 2
要在上面创建的数据框中查找 df1 的 x 列中存在 7 次的值,请将以下代码添加到上述代码片段中 -
x<-rpois(20,1) df1<-data.frame(x) as.numeric(levels(factor(df1$x))[tabulate(factor(df1$x))==7])
输出
如果将上面给出的所有代码片段作为单个程序执行,它将生成以下输出 -
[1] 1
示例 2
以下代码片段创建了一个示例数据框 -
y<-sample(0:5,20,replace=TRUE) df2<-data.frame(y) df2
创建了以下数据框
y 1 4 2 1 3 0 4 5 5 2 6 1 7 0 8 0 9 3 10 2 11 2 12 1 13 2 14 2 15 2 16 1 17 1 18 1 19 3 20 2
要在上面创建的数据框中查找 df2 的 y 列中存在 2 次的值,请将以下代码添加到上述代码片段中 -
y<-sample(0:5,20,replace=TRUE) df2<-data.frame(y) as.numeric(levels(factor(df2$y))[tabulate(factor(df2$y))==2])
输出
如果将上面给出的所有代码片段作为单个程序执行,它将生成以下输出 -
[1] 3
示例 3
以下代码片段创建了一个示例数据框 -
z<-round(rnorm(20),0) df3<-data.frame(z) df3
创建了以下数据框
z 1 -1 2 2 3 -1 4 1 5 1 6 -2 7 -1 8 -1 9 0 10 0 11 1 12 1 13 -1 14 0 15 1 16 0 17 0 18 0 19 -1 20 0
要在上面创建的数据框中查找 df3 的 z 列中存在 6 次的值,请将以下代码添加到上述代码片段中 -
z<-round(rnorm(20),0) df3<-data.frame(z) as.numeric(levels(factor(df3$z))[tabulate(factor(df3$z))==6])
输出
如果将上面给出的所有代码片段作为单个程序执行,它将生成以下输出 -
numeric(0)
广告