R 排序表时出错
我在R中订购表格时遇到问题。 我这里有一张桌子:R 排序表时出错,r,R,我在R中订购表格时遇到问题。 我这里有一张桌子: Date Race time Fav Odds win place joint 01/04/2013 Redcar 14:30 4 1 n y j 01/04/2013 Redcar 15:00 9 4 n y 01/04/2013 Redcar 15:30 7 4 n y 01/04/2013 Redcar 16:00
Date Race time Fav Odds win place joint
01/04/2013 Redcar 14:30 4 1 n y j
01/04/2013 Redcar 15:00 9 4 n y
01/04/2013 Redcar 15:30 7 4 n y
01/04/2013 Redcar 16:00 11 4 y j
01/04/2013 Redcar 16:30 9 4 n y
01/04/2013 Redcar 17:00 7 2 n n
01/04/2013 Redcar 17:30 6 4 n n
01/04/2013 Warwick 14:20 8 13 y
01/04/2013 Warwick 14:50 9 2 y j
01/04/2013 Warwick 15:20 6 4 y
01/04/2013 Warwick 15:50 7 4 n n
01/04/2013 Warwick 16:20 7 4 n n
01/04/2013 Warwick 16:50 11 8 n n
01/04/2013 Yarmouth 14:05 10 11 n n
01/04/2013 Yarmouth 14:40 5 2 y j
01/04/2013 Yarmouth 15:10 10 3 n n
01/04/2013 Yarmouth 15:40 7 2 n n
01/04/2013 Yarmouth 16:10 2 1 n n
01/04/2013 Yarmouth 16:40 11 10 n y
01/04/2013 Yarmouth 17:10 7 2 n n
02/04/2013 Kempton 14:00 7 2 y
02/04/2013 Kempton 14:30 13 8 n y
02/04/2013 Kempton 15:00 7 4 n y
02/04/2013 Kempton 15:30 10 11 y
02/04/2013 Kempton 16:00 2 1 n y
02/04/2013 Kempton 16:30 4 1 n n
02/04/2013 Kempton 17:00 11 4 n y
02/04/2013 Southwell 14:20 1 2 y
02/04/2013 Southwell 14:50 11 8 y
02/04/2013 Southwell 15:20 2 1 n y
02/04/2013 Southwell 15:50 7 2 n y j
02/04/2013 Southwell 16:20 8 13 y
02/04/2013 Southwell 16:50 9 4 n
02/04/2013 Southwell 17:20 13 8 n n
03/04/2013 Dundalk 18:20 7 2 y
03/04/2013 Dundalk 18:50 11 8 n n
03/04/2013 Dundalk 19:20 3 1 n y
03/04/2013 Dundalk 19:50 11 4 n n
03/04/2013 Dundalk 20:20 6 4 n y
03/04/2013 Dundalk 20:50 1 5 n y
03/04/2013 Dundalk 21:20 13 8 n y
03/04/2013 Kempton 17:30 11 8 n n
03/04/2013 Kempton 18:00 7 4 y j
03/04/2013 Kempton 18:30 8 11 n y
03/04/2013 Kempton 19:00 1 2 n y
03/04/2013 Kempton 19:30 5 2 n y
03/04/2013 Kempton 20:00 2 1 y
03/04/2013 Kempton 20:30 4 5 n y
03/04/2013 Lingfield 14:00 4 5 n n
03/04/2013 Lingfield 14:30 4 7 y
03/04/2013 Lingfield 15:00 6 4 y
03/04/2013 Lingfield 15:30 3 1 n y
03/04/2013 Lingfield 16:00 2 1 n y
03/04/2013 Lingfield 16:30 4 6 n n
03/04/2013 Lingfield 17:00 6 4 y
03/04/2013 Southwell 14:20 6 4 y
03/04/2013 Southwell 14:50 7 4 n n
03/04/2013 Southwell 15:20 1 4 y
03/04/2013 Southwell 15:50 10 11 n n
03/04/2013 Southwell 16:20 4 7 n n
03/04/2013 Southwell 16:50 13 8 y
03/04/2013 Southwell 17:20 5 2 y
04/04/2013 Lingfield 14:20 11 4 y
04/04/2013 Lingfield 14:55 4 6 y
04/04/2013 Lingfield 15:30 9 4 y
04/04/2013 Lingfield 16:05 11 4 n y
04/04/2013 Lingfield 16:40 6 4 n y
04/04/2013 Lingfield 17:15 7 4 y
04/04/2013 Lingfield 17:45 6 4 n n
我需要在R中按小时升序对其进行排序,并分别对其他列进行排序。我尝试这样做,首先将其分配给名为table
的变量:
table <- read.csv("assessment.csv")
我得到这个错误:
顺序错误(时间):参数1不是向量
我曾经这样做过一次,我不知道怎么做,但即使这样,表格还是被分类了,但在一行的某个地方,有14点,这很奇怪。如何正确排序表格?要从左到右排序data.frame的列,请使用
do.call
。例如:
mtcars[do.call("order",mtcars),]
mpg cyl disp hp drat wt qsec vs am gear carb
Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
...
如果
table
很大(很多行),使用数据表可能会更快:
library(data.table)
dt <- data.table(table)
sorted <- setkeyv(dt,colnames(dt))
库(data.table)
dt假设时间列为日期格式(?as.Date
),您可以添加表的结构吗@EDi优点-如果没有中间data.table包的使用,则需要先参考数据框表来访问时间列。谢谢EDi!!!!!你是我的救世主!!:D请将其作为asnwer发布,以便我可以对其进行评分并设置为正确答案,谢谢!
library(data.table)
dt <- data.table(table)
sorted <- setkeyv(dt,colnames(dt))