r - 有没有办法阻止表格在 R 中排序

标签 r sorting csv

问题设置 :创建一个函数,将 ID 列选择的多个 CSV 文件合并为 1 个 csv,然后根据 ID 创建观察数量的输出。

预期的:

complete("specdata", 30:25) ##notice descending order of IDs requested

##   id nobs
## 1 30  932
## 2 29  711
## 3 28  475
## 4 27  338
## 5 26  586
## 6 25  463

我得到:
> complete("specdata", 30:25)

  id nobs
1 25  463
2 26  586
3 27  338
4 28  475
5 29  711
6 30  932

这是“错误的”,因为它已按 id 排序。

我从中读取的 CSV 文件确实具有按降序排列的数据。我的片段:
dfTable<-read.csv("~/progAssign1/specdata/tmpdata.csv")
ccTab<-complete.cases(dfTable)
xTab3<-as.data.frame(table(dfTable$ID[ccTab]),)
colnames(xTab3)<-c("id","nobs")

据我所知,第三行是排序发生的地方。我打破了表达式,它发生在 table() 调用中。我没有找到任何我可以传递的选项或参数来制作类似 sort=FALSE 的东西。你会想...

反正。任何帮助表示赞赏!

最佳答案

所以,问题出在 table 的输出中, 默认情况下排序。例如:

> r = sample(5,15,replace = T)
> r
 [1] 1 4 1 1 3 5 3 2 1 4 2 4 2 4 4
> table(r)
r
1 2 3 4 5 
4 3 2 5 1 

如果你想按照第一次出现的顺序,重新编码 table 会让你的手有点脏。功能:
unique_r = unique(r)
table_r = rbind(label=unique_r, count=sapply(unique_r,function(x)sum(r==x)))
table_r
      [,1] [,2] [,3] [,4] [,5]
label    1    4    3    5    2
count    4    5    2    1    3

关于r - 有没有办法阻止表格在 R 中排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24842157/

相关文章:

r - 仅当 R 中条件为真时才打印

r - 根据列表中的常见值从 data.frame 中提取行

r - 使用 R 和传感器加速度计数据检测跳跃

swift - 按字母顺序和降序打印结构中的数组

c# - 如何在gridview中实现排序功能?

r - 在硬盘上存储的非常大的数据集上训练 SVM

c++ - 对字符串数组进行基数排序?

c# - Excel 在 CSV 导出时添加额外引号

c++ - 在 C++ 中读取 csv 文件时如何处理 NaN

javascript - 在 Javascript 中将 Json 数组转换为数组