R:导出txt或csv表,其中包含utf编码的希腊字符

时间:2018-04-23 14:50:06

标签: r dataframe utf-8 latex

我在R中写了一个包含希腊字符的表,我无法以CSV或txt文件的形式导出表格(我想稍后在Latex文件中调用该表格)。

    #example table:
parm1 <- 2
parm2 <- 0.3
rownames_tab <- c(  paste('\u2126', "_a", sep="")  , paste('\u025B',"_a", sep="") )
tab1 <- as.data.frame( matrix(ncol=1, nrow=length(rownames_tab ) ) )
row.names(tab1) <- rownames_tab
tab1[paste('\u2126', "_a", sep=""),] <- paste("Some explanation of the variable: ", parm1, sep="")
tab1[paste('\u025B', "_a", sep=""),] <- paste("Some explanation of the second variable: ", paste('\u025B', "_a", sep=""), " = " ,parm2, sep="" )  

如何将表保存在包含希腊字符的csv或txt文件中(编码为utf-8)?

write.csv(tab1, file="test1.csv", fileEncoding = "UTF-8")
write.table(tab1, file="test1.txt",  fileEncoding = "UTF-8")

这似乎不起作用:如果您打开这些文件,则不会读取希腊字符。

非常感谢您的帮助,

最佳,

莫伦

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法,或解决这个问题的方法。 因为我想在latex上使用表,所以我用R语法直接在R中写表:

rownames_tab <- c(  "$\\omega_{a}$" ,  "$\\epsilon_{a}$" )
tab1 <- as.data.frame( matrix(ncol=1, nrow=length(rownames_tab ) ) )
row.names(tab1) <- rownames_tab

tab1[ "$\\omega_{a}$",] <- paste("Some explanation of the variable: ", parm1, sep="")
tab1[ "$\\epsilon_{a}$",] <- paste("Some explanation of the second variable: ",  "$\\epsilon_{a}$", " = " ,parm2, sep="" ) 

并以乳胶可以读取的方式保存:

write.table(tab1 , "myparams.txt", quote=FALSE, eol="\\\\\n", sep=" & ", col.names = F)

在乳胶中,我写道:

\begin{table*}  \caption{my parameters} 
    \begin{tabular}{ll}
        \hline
    Param. & Description \\
    \input{myparams.txt}
    \hline
    \end{tabular}
    \label{tab:params}
\end{table*} 

这正确地显示了我的乳胶表中的希腊符号。