2015-11-22 2 views
0

Как упорядочить числа во втором столбце, чтобы первые значения были первыми? Посмотрите мои данные и мой код.значения сортировки в значениях столбца и графика

> TumorSize 
    Tumour.size 
1   15 
2   12,5 
3   10 
4   4 
5   8 
6   9 
7   12 
8   7 
9   5 
10   2 
11   4,5 
12   8 
13   12 

Пробовал, но это не работает для значений выше 10:

TumorSize$Tumour.size <- with(TumorSize, TumorSize[order(Tumour.size), 1]) 

ggplot(TumorSize, aes(Tumour.size)) + geom_dotplot() + theme_bw() + 
    labs(x="Tumor Size", y="Frequency") + 
    theme(axis.text.x = element_text(angle = 90)) 
+0

Что означает 12,5 в строке 2 - что вы заказываете? –

+0

его 12.5. Я должен изменить это – user2300940

+1

Я предполагаю, что 12,5 и 4,5 являются европейской десятичной нотацией для 12,5 и 4,5. –

ответ

2

Вы должны очистить свои значения:

dta <- read.table(textConnection("Tumour.size 
          1   15 
          2   12,5 
          3   10 
          4   4 
          5   8 
          6   9 
          7   12 
          8   7 
          9   5 
          10   2 
          11   4,5 
          12   8 
          13   12"), 
       header=TRUE) 

# to num accounting for , 
dta$Tumour.size <- as.numeric(sub(",",".",dta$Tumour.size)) 

Тогда вы можете conveinetly сортировать данные, как в приведенном ниже синтаксисе, который использует dplyr:

require(dplyr) 
dta_ord <- arrange(dta, Tumour.size) 

Что касается графика, то на самом деле не пройти отсортированный фрейма данных, если вы привести в порядок свои значения:

require(ggplot2) 
ggplot(dta, aes(Tumour.size)) + geom_dotplot() + theme_bw() + 
    labs(x="Tumor Size", y="Frequency") + 
    theme(axis.text.x = element_text(angle = 90)) 

даст вам следующую схему:

sample chart

+1

Возможно, проще использовать 'dec =", "' в 'read.table()' вместо этого. – Axeman

Смежные вопросы