2012-03-19 2 views
0

Я работаю над Latex и R и используя следующий код.Как избежать индексации (нумерации) в латексе?

<<echo=FALSE>>= 
infile<-read.table("test.txt",sep="\t") 
Col3 <- unique(infile[,3]) 
LCol3 <- length(Col3) 
for (i in 1:LCol3) { 


print(paste("Column", Col3[i])) 
print(infile[infile[,3]==Col3[i],-3]) 
} 
@ 

Я получаю следующий выход.

1] "Column C" 
V1 V2 V4 
1 A B D 
2 X T K 
[1] "Column Z" 
V1 V2 V4 
3 Z U M 
4 E V R 
5 Z U M 
[1] "Column P" 
V1 V2 V4 
6 E V R 

Я хочу избежать нумерации и имен столбцов. Я хочу, чтобы мой результат был следующим.

"Column C" 
A B D 
X T K 

"Column Z" 
Z U M 
E V R 
Z U M 

"Column P" 
E V R 

Как я могу это сделать?

ответ

2

В общем, print - это неправильный инструмент для того, что вы пытаетесь сделать. Вероятно, вы должны использовать cat. Так как ваш пример не является воспроизводимым, здесь очень простой пример, иллюстрирующий несколько подобное использование:

d <- data.frame(V1 = LETTERS[1:5],V2 = letters[1:5], V3 = 1:5) 

for (i in 1:5){ 
    cat("Row",i,"\n") 
    cat(unlist(d[i,]),"\n\n") 
} 

Row 1 
A a 1 

Row 2 
B b 2 

Row 3 
C c 3 

Row 4 
D d 4 

Row 5 
E e 5 

Отмечают необходимость unlist строки кадра данных, для того, чтобы cat, чтобы иметь возможность здраво вставить отдельные элементы вместе.

2

Добро пожаловать в stackoverflow @Manish.
Что касается удаления нумерации latex и rowname=FALSE. Ниже ... ДАННЫЕ

Age <- c(rep('Young',2),rep('Middle',2),rep('Old',2));Age 
Smoker <- rep(c('Yes','No'),3);Smoker 
Died <- c(5,6,92,59,42,165);sum(Died) 
Lived <- c(174,213,262,261,7,28);sum(Lived) 
smoke <- data.frame(Age,Smoker,Died,Lived);smoke 

печати (xtable (дым), файл = 'ttt.tex') $ Результаты печатаются в ttt.tex файле
Это дает

$\begin{table}[ht] 
    \begin{center} 
    \begin{tabular}{rllrr} 
     \hline 
    & Age & Smoker & Died & Lived \\ 
     \hline 
    1 & Young & Yes & 5.00 & 174.00 \\ 
     2 & Young & No & 6.00 & 213.00 \\ 
     3 & Middle & Yes & 92.00 & 262.00 \\ 
     4 & Middle & No & 59.00 & 261.00 \\ 
     5 & Old & Yes & 42.00 & 7.00 \\ 
     6 & Old & No & 165.00 & 28.00 \\ 
     \hline 
    \end{tabular} 
    \end{center}$ 

или Output using print and xtable

Использование латекса в Hmisc
имен (дыма) < - NULL латекса (SMO ка, файл = 'ttt.tex', rowname = NULL)
Мы получаем

$\begin{table}[!tbp] 
\begin{center} 
\begin{tabular}{llrr} 
\hline\hline 
\multicolumn{1}{c}{Age}&\multicolumn{1}{c}{Smoker}&\multicolumn{1}{c}{Died}&\multicolumn{1}{c}{Lived}\tabularnewline 
\hline 
Young&Yes&$ 5$&$174$\tabularnewline 
Young&No&$ 6$&$213$\tabularnewline 
Middle&Yes&$ 92$&$262$\tabularnewline 
Middle&No&$ 59$&$261$\tabularnewline 
Old&Yes&$ 42$&$ 7$\tabularnewline 
Old&No&$165$&$ 28$\tabularnewline 
\hline 
\end{tabular} 
\end{center} 

или, Output using latex function Hmisc

Я думаю, вы уже знаете, что вам нужно добавить results=tex в вашем поле параметров фрагмента в используйте латекс внутри него, чтобы у вас был выход tex

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