Я работаю с матрицей, считанной из csv, которая содержит как числа, так и символы. Это меньше матрица, но в основном то, что я работаю с:Заказ символьной матрицы по числовому столбцу
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
V2 "A" "1" "Sample X1" "34712" "39390" "38858" "38574" "38660"
V3 "A" "2" "Sample X2" "35333" "39940" "40533" "39936" "40669"
V4 "A" "3" "Sample X3" "33612" "39601" "38658" "39220" "39465"
V5 "A" "4" "Sample X4" "34309" "39200" "38597" "39820" "40081"
V6 "A" "5" "Sample X5" "33637" "39404" "40497" "39388" "40033"
V7 "A" "6" "Sample X6" "35314" "39522" "40345" "38624" "40306"
V8 "A" "7" "Sample X7" "35548" "39000" "41408" "38310" "39849"
V9 "A" "8" "Sample X8" "33972" "39930" "39777" "39582" "39570"
V10 "A" "9" "Sample X9" "34808" "39857" "39252" "39248" "38465"
V11 "A" "10" "Sample X10" "34316" "39798" "39776" "39516" "38812"
V12 "A" "11" "Sample X11" "34476" "38581" "39672" "38997" "38794"
V13 "A" "12" "Sample X12" "36246" "38809" "37872" "38100" "36925"
V14 "B" "1" "Sample X13" "33642" "40201" "40202" "39320" "40426"
V15 "B" "2" "Sample X14" "33381" "40624" "40349" "41350" "40490"
V16 "B" "3" "Sample X15" "34465" "42096" "41194" "40613" "40416"
V17 "B" "4" "Sample X16" "33957" "41905" "42273" "40710" "40681"
V18 "B" "5" "Sample X17" "33877" "42040" "42226" "40788" "41261"
V19 "B" "6" "Sample X18" "33970" "41860" "41149" "41093" "40877"
V20 "B" "7" "Sample X19" "34745" "42040" "40186" "40862" "41044"
V21 "B" "8" "Sample X20" "34140" "41274" "39880" "40356" "40496"
V22 "B" "9" "Sample X21" "33929" "40652" "41410" "40760" "40718"
V23 "B" "10" "Sample X22" "33684" "39220" "40478" "41500" "40094"
V24 "B" "11" "Sample X23" "33141" "41446" "41121" "40726" "41020"
V25 "B" "12" "Sample X24" "33405" "38481" "37716" "38562" "38218"
V26 "C" "1" "Sample X25" "71560" "86402" "85614" "84273" "83264"
V27 "C" "2" "Sample X26" "72144" "86266" "88082" "87672" "87356"
V28 "C" "3" "Sample X27" "71946" "90201" "89156" "88386" "88006"
V29 "C" "4" "Sample X28" "71758" "89108" "88225" "86006" "88654"
V30 "C" "5" "Sample X29" "71144" "86558" "88614" "87028" "88809"
V31 "C" "6" "Sample X30" "70504" "89230" "88869" "86653" "86356"
V32 "C" "7" "Sample X31" "67874" "88405" "84878" "84914" "85425"
V33 "C" "8" "Sample X32" "70273" "87865" "87529" "87945" "86172"
Я хотел бы отсортировать матрицу по второй колонке без заголовков так далее:
A 1 . . .
B 1
C 1
A 2
B 2
C 2
A 3
.
.
.
A 12
B 12
C 12 . . .
Я осмотрелся и обнаружил, что вы можете использовать порядок:
data <- data[order(data[,2],]
но выходит так:
A 1 . . .
B 1
c 1
A 10
B 10
C 10
A 11
B 11
C 11
A 12
B 12
C 12
A 2
B 2
C 2
.
.
.
A 9
B 9
C 9 . . .
Это потому, что эта матрица является матрицей символов? Как мне сделать только второй столбцовый номер, чтобы я мог сортировать его на основе этого?
Благодаря
Спасибо за отзыв о data.frame, я был смущен тем, как иметь данные из нескольких классов. Есть ли способ изменить способ сортировки? Чтобы быть 1, 2, 3, 4, ..., 10, 11, 12? Или лучший способ просто вырезать эти ряды и положить их в конец? –
@ ИльяЛедерман не уверен, что вы имеете в виду. Код, который я предоставил (d <- as.data.frame (данные); d [порядок (d [, 3]),] '), или' data [order (as.numeric (data [, 3])) ] ', должны оба заказать его, как вы хотели. – jbaums
Я все еще получаю заказ как 1,10,11,12,2,3,4,5,9,7,8,9. Я делал это в сборе (данные, класс), и он говорит, что все является фактором. Я не совсем понимаю, что такое фактор. Я прочитал в csv как данные <-t (read.csv ("data.csv", header = FALSE, skip = 5)) [- 1,] , затем do данные <- as.data.frame (data) –