我有一个很大的数据集,需要从中生成特定的图表。这是我的分析设备生成的大量数据中的一个。我目前正在编写一个能够自动分析这些数据集的函数,为此,我可以使用数据集中名为“标签”的列。
当我使用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
我想做的是创建一个向量,我也称其为“标签”,它只包含出现频率为5或更高的标签。
然后,我正在考虑使用for循环,其长度为“ Labels”的长度为1,并使用规则datafile$Labels == Labels[n]
(其中n = 1:length(Labels)
)对数据表进行子集化,以为每个感兴趣的标签创建图表反过来。
是否有一个特定的函数将从可以设置条件的列中提取元素,这些元素会出现五次或更多次?因此,从我的示例中,我的新“标签”向量将如下所示:
> Labels
[1] "Blank" "C1" "C2" "C3a" "C3b" "C3c" "C4" "E1" "E2" "E3" "P" "pH3" "pH5" "pH7" "pH9"
所有建议将不胜感激。
谢谢。
答案 0 :(得分:1)
我们可以使用逻辑条件将table
子集化,并获得names
tbl <- table(dataFile$Label)
names(tbl)[tbl > 5]