2

我有一个大型数据集,我需要从中生成特定的图表。这是我的分析设备生成的数字中的一个数据集。我目前正在编写一个能够自动分析这些数据集的函数,为此我可以使用数据集中名为“标签”的列。

当我使用该table()功能时,我得到“标签”列的内容和频率,我得到以下信息:

> table(datafile$Label)

 Blank     C1     C2    C3a    C3b    C3c     C4     DI     E1     E2     E3   High    Low Medium    Mid 
    11      9      9      9      9      9      9      3      9      9      9      3      3      3     13 
     P    pH3    pH5    pH7    pH9   test   Test 
     9      5      5      5      5      2      1 

我想做的是创建一个我也称为“标签”的向量,它只包含出现频率为五个或更多的标签。

然后我正在考虑使用 1 到“标签”长度的 for 循环,并使用规则datafile$Labels == Labels[n], where对数据表进行子集化n = 1:length(Labels),依次为每个感兴趣的标签创建图表。

是否有特定的函数可以从可以设置条件的列中提取元素,它们出现五次或更多次?因此,从我的示例中,我的新“标签”向量如下所示:

> Labels

[1]    "Blank" "C1" "C2" "C3a" "C3b" "C3c" "C4" "E1" "E2" "E3" "P" "pH3" "pH5" "pH7" "pH9"

我们将不胜感激地接受所有建议。

谢谢你。

4

1 回答 1

1

我们可以table用一个逻辑条件对 进行子集化并得到names

tbl <- table(dataFile$Label)
names(tbl)[tbl > 5]
于 2018-12-27T06:42:52.710 回答