2013-12-12 176 views
2

我是R新手,並且遇到以下數據。要麼我用錯誤的術語搜索,要麼這個問題沒有上升(可能是因爲簡單?)。根據另一列的級別對數​​據幀中的列進行排序

我有含有因子和數值列的數據幀:

> head(PAMdata1) 
salt cultivar Ratiod13  StdErr 
1 50  1 1.0760163 0.02915785 
2 100  1 0.9814083 0.04914316 
3 50  2 0.9617199 0.06571578 
4 100  2 0.7878740 0.10270647 
5 50  4 0.9551830 0.04134652 
6 100  4 0.8429793 0.10993336 

> str(PAMdata1) 
'data.frame': 36 obs. of 4 variables: 
$ salt : Factor w/ 2 levels "50","100": 1 2 1 2 1 2 1 2 1 2 ... 
$ cultivar: Factor w/ 18 levels "27","26","21",..: 7 7 15 15 13 13 11 11 9 9 ... 
$ Ratiod13: num 1.076 0.981 0.962 0.788 0.955 ... 
$ StdErr : num 0.0292 0.0491 0.0657 0.1027 0.0413 ... 

「品種」包含的因素,其水平使用另一數據幀被排序的列中:

PAMdata1$cultivar <- factor(PAMdata1$cultivar, levels = unique(as.character(my_other_df$cultivar))) 

levels(PAMdata1$cultivar) 
[1] "27" "26" "21" "52" "14" "25" "1" "23" "7" "8" "5" "28" "4" "22" "2" 
[16] "53" "51" "50" 

我想根據品種的等級排序是PAMdata1 $ Ratiod13。如何將水平矢量轉換爲每個級別所在行號的矢量?

我將不勝感激任何幫助。

非常感謝

+1

呢? 'PAMdata1 [order(PAMdata1 $ cultivar),]' –

+1

如果您解決了您的問題,請將其作爲答案發布,然後接受它,而不是將其編輯到您的問題中。確切地說, – Thomas

+0

。我不知道這些因素是按照他們的等級順序排序的。尷尬...... – sargas

回答

0

交談辦公室隊友,看到您的意見,我看到排序之間)和序)我的困惑((

PAMdata1[order(PAMdata1$cultivar),] 

甚至

PAMdata1[with(PAMdata1,order(cultivar)),] 

會做工作。

非常感謝您的幫助。

0

一個data.table選擇是setkey的品種:

setkey(PAMdata1,cultivar) 
相關問題