首页 > 解决方案 > 根据索引位置对一列值进行排序

问题描述

我目前正在处理大量数据。出于测试目的,我使用的是较小的批次,但主要关注点是根据一个特定列中的值对所有数据进行排序。我在下面发布了一张图片,显示了我未排序数据的一小部分。我想按升序对第 2 行中的值以及相应列中的所有其他数据进行排序。换句话说,我不想只订购第 2 行,我想订购第 2 行并使用这些重新排序的值移动所有其他数据。

目前我所做的是在该 csv 中读取数据框(tmpDF)。

  1. 之后,我使用转置数据tmpDF <- t(tmpDF)
  2. 现在我获取该数据并将第二列排序为升序(或者至少这是我认为我正在做的事情。)tmpDF<- tmpDF[order(tmpDF[,1]),]
  3. 重新转置数据以使其恢复原始状态,但已排序。结果如下图所示“有序数据结果”请记住,由于我没有发布我的整个数据集,未排序和排序之间显示的数据是不同的数字。

未排序值的示例

有序数据结果

我对此有几个问题。

1)我是否以正确的方式解决这个问题?我不是一个很有经验的程序员,只是想自学 R 来帮助我的研究工作。

2)为什么在我最终排序的 csv 文件中,诸如“102”之类的值被表示为“1.01E+02”?我不相信我正在更改类型,并且在原始文件中它们表示为“102”

3) 为什么值 116 在 "1.01E+02" 之前排序?

标签: rcsvsorting

解决方案


推荐阅读