R 按因子计算数据帧中的行数,是否保留顺序?

R 按因子计算数据帧中的行数,是否保留顺序?,r,dataframe,r-factor,R,Dataframe,R Factor,我的任务是创建一个函数,该函数获取目录路径,读取大量.csv文件,并返回一个data.frame,其中包含每个文件的完整案例数,格式如下: ## id nobs ## 1 2 1041 ## 2 4 474 ## 3 8 192 ## 4 10 148 ## 5 12 96 我有以下解决方案(给出函数签名): complete我不认为ordered=参数在做您认为应该做的事情。当您设置ordered=T时,它会创建一个有序因子,该因子类似于有序变量,其中作为正则因子的行为更

我的任务是创建一个函数,该函数获取目录路径,读取大量.csv文件,并返回一个data.frame,其中包含每个文件的完整案例数,格式如下:

##   id nobs
## 1  2 1041
## 2  4  474
## 3  8  192
## 4 10  148
## 5 12   96
我有以下解决方案(给出函数签名):


complete我不认为
ordered=
参数在做您认为应该做的事情。当您设置
ordered=T
时,它会创建一个有序因子,该因子类似于有序变量,其中作为正则因子的行为更像是一个分类变量。它不假设向量已经排序,也不以任何方式影响向量的排序

如果要指定给定的订单,必须使用

frame$ID <- factor(frame$ID, levels=unique(frame$ID))

frame$ID感谢您的回答。是的,我对
ordered
参数的函数有一个错误的想法。当我使用
frame$ID@Meiner时,您正在使用
data.frame(ID=names(by),nobs=unlist(by))
设置ID,所以不要使用
names(by)
只需执行
ID=1:length(by)
之类的操作。
ID
字段正确。我指的是打印data.frame(无列名)时最左边一栏中的数字。我必须设置
row.names=NULL
,然后它才能按预期工作。在改变之前,我不必做这样的事情。
frame$ID <- factor(frame$ID, levels=unique(frame$ID))