1

我有一个数据集,我用它创建一个表,但现在我希望输出按字母顺序排序。ordersort否则sort.list我不上班。这是我所拥有的一个例子。

library(maptools)
data(wrld_simpl)
tab.test <- xtable(subset(wrld_simpl@data, select=c(NAME, REGION)))
head(tab.test)
% latex table generated in R 2.15.1 by xtable 1.7-0 package
% Sun Nov  4 19:58:19 2012
\begin{table}[ht]
\begin{center}
\begin{tabular}{rll}
  \hline
 & NAME & REGION \\ 
  \hline
ATG & Antigua and Barbuda &  19 \\ 
DZA & Algeria &   2 \\ 
AZE & Azerbaijan & 142 \\ 
ALB & Albania & 150 \\ 
ARM & Armenia & 142 \\ 
AGO & Angola &   2 \\ 
   \hline
\end{tabular}
\end{center}
\end{table}

我希望能够按NAMEREGION甚至是第一列对其进行排序,这ISO3似乎是默认的左列。感谢您的帮助,包括对类似问题的提示(我在寻找治疗方法时可能忽略了它们)。

4

1 回答 1

1

xtable据我所知,这与

鉴于这wrld_simpl是一个我认为使用尝试修改对象SpatialPolygonsDataFrame的插槽副本会更容易。dataS4

plyr包装具有很好的功能arrange,使订购变得容易。不清楚要不要按NAMEthen排列,我就单独REGION举个 order by 的例子NAME

wrld_data <- wrld_simpl@data


library(plyr)

arranged_data <- arrange(wrld_data, NAME)
# this was nice syntax for
# wrld_data[order(wrld_data$NAME),]

# subset colums
subset_data <- subset(arranged_data, select = c(NAME, REGION))

head(subset_data)

           NAME REGION
1 Aaland Islands    150
2    Afghanistan    142
3        Albania    150
4        Algeria      2
5 American Samoa      9
6        Andorra    150

只是为了表明您的问题不xtable相关

.x <- xtable(subset_data)

head(.x)
% latex table generated in R 2.15.2 by xtable 1.7-0 package
% Mon Nov 05 13:03:27 2012
\begin{table}[ht]
\begin{center}
\begin{tabular}{rlr}
  \hline
 & NAME & REGION \\ 
  \hline
1 & Aaland Islands & 150 \\ 
  2 & Afghanistan & 142 \\ 
  3 & Albania & 150 \\ 
  4 & Algeria &   2 \\ 
  5 & American Samoa &   9 \\ 
  6 & Andorra & 150 \\ 
   \hline
\end{tabular}
\end{center}
\end{table}
于 2012-11-05T02:03:40.790 回答