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

table() is jumbling up rows in R while counting frequency

我有一个数据框 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 列大概是 character/factor。将其转换为数字,然后使用order进行排序。

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