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あり、注文が簡単です。NAME順番に並べてほしいかわかりませんので、単独で並べるREGION例を挙げます。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 に答える