2015-06-19 5 views
0

У меня есть data.frame CLI_CAP_X_PROD_AG:Определение имени текста/HTML файл, как имя data.frame в R

 FAMILIA_PRD NUM_CLI CAPITAL_SOL PART_CAP_PER ATRASADA ATR_PER 
     A    536  2616925  33.62 467830 17.88 
     B    151  1613035  20.72 268223 16.63 

при попытке сохранить файл, используя имя данных .frame я получаю сообщение об ошибке:

 print(temp,type = "html", include.rownames = FALSE, file = paste(CLI_CAP_X_PROD_AG,"_tab.html", sep="")) 

потому, что R читать элементы CLI_CAP_X_PROD_AG.

Любая помощь будет очень признательна!

+0

Не нужно ли помещать его в строку «CLI_CAP_X_PROD_AG»? – sunny

+0

Что это за функция 'print()', которая, по-видимому, принимает аргументы 'type' и' file'? Никакие такие аргументы не принимаются ['print()'] (https://stat.ethz.ch/R-manual/R-devel/library/base/html/print.html), ['print.default() '] (https://stat.ethz.ch/R-manual/R-devel/library/base/html/print.default.html) и [' print.data.frame() '] (https://stat.ethz.ch/R-manual/R-devel/library/base/html/print.dataframe.html). – bgoldst

+0

Это функция от xtable – JVALLEJO

ответ

0

Вы должны хранить ваши xtables в именованном списке и перебирать список. Демонстрация:

library('xtable'); 
li <- list(t1=xtable(data.frame(a=letters[1:3],b=1:3)),t2=xtable(data.frame(a=letters[4:6],b=4:6))); 
names(li); 
## [1] "t1" "t2" 
li; 
## $t1 
## % latex table generated in R 3.1.3 by xtable 1.7-4 package 
## % Fri Jun 19 13:48:30 2015 
## \begin{table}[ht] 
## \centering 
## \begin{tabular}{rlr} 
## \hline 
## & a & b \\ 
## \hline 
## 1 & a & 1 \\ 
## 2 & b & 2 \\ 
## 3 & c & 3 \\ 
## \hline 
## \end{tabular} 
## \end{table} 
## 
## $t2 
## % latex table generated in R 3.1.3 by xtable 1.7-4 package 
## % Fri Jun 19 13:48:30 2015 
## \begin{table}[ht] 
## \centering 
## \begin{tabular}{rlr} 
## \hline 
## & a & b \\ 
## \hline 
## 1 & d & 4 \\ 
## 2 & e & 5 \\ 
## 3 & f & 6 \\ 
## \hline 
## \end{tabular} 
## \end{table} 
## 
for (n in names(li)) print(li[[n]],type='html',include.rownames=F,file=paste0(n,'_tab.html')); 
file.show('t1_tab.html',pager='cat'); 
## <!-- html table generated in R 3.1.3 by xtable 1.7-4 package --> 
## <!-- Fri Jun 19 13:48:34 2015 --> 
## <table border=1> 
## <tr> <th> a </th> <th> b </th> </tr> 
## <tr> <td> a </td> <td align="right"> 1 </td> </tr> 
## <tr> <td> b </td> <td align="right"> 2 </td> </tr> 
## <tr> <td> c </td> <td align="right"> 3 </td> </tr> 
## </table> 
## 
file.show('t2_tab.html',pager='cat'); 
## <!-- html table generated in R 3.1.3 by xtable 1.7-4 package --> 
## <!-- Fri Jun 19 13:48:34 2015 --> 
## <table border=1> 
## <tr> <th> a </th> <th> b </th> </tr> 
## <tr> <td> d </td> <td align="right"> 4 </td> </tr> 
## <tr> <td> e </td> <td align="right"> 5 </td> </tr> 
## <tr> <td> f </td> <td align="right"> 6 </td> </tr> 
## </table> 
## 
+0

Спасибо, что это сработало для меня. Хотя я нашел другое решение. – JVALLEJO

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