table()在计算频率时混淆了R中的行



我有一个数据框架my_data,它看起来像这样:

LR_ID             Kmer           ProcID
1             GTACGTAT         10
1             TACGTATC         10
1             ACGTATCG          2
1             GTATCGTT          3
2             GTTACGTA         16
2             TTACGTAC         16
2             TACGTACT         16
2             ACGTACTT         11

有800个这样的LR id,其中的kmers进入不同的进程。我想基于LR_ID计算频率,所以我使用了:

freq_my_data <- data.frame(table(my_data$LR_ID))

我得到的输出是:

Var1    Freq
1     27248
10    8677
100   13439
101   18380
102   2276
103   1754

但是我希望这些行像LR1 LR2,等等。我已经尝试使用order()对数据进行排序,但它仍然给我相同的输出。

谁能告诉我哪里做错了?

Var1列可能是字符/因子。将其转换为数字,然后使用order排序。

freq_my_data$Var1 <- as.numeric(as.character(freq_my_data$Var1))
freq_my_data <- freq_my_data[order(freq_my_data$Var1), ]

最新更新