Могу ли я поместить латексную таблицу в кадр данных r? - PullRequest
0 голосов
/ 16 февраля 2020

Кто-то еще создал таблицу с использованием латексного форматирования в используемом мной файле r markdown. Я хочу иметь возможность поместить данные, содержащиеся в таблице, непосредственно во фрейм данных r, которым я затем смогу манипулировать, используя код r. Таблица не была загружена в файл .tex - она ​​просто выглядит следующим образом в коде:

\begin{table}[ht]
\begin{center}
\begin{tabular}{l|cccc|c}
\hline 
  & \multicolumn{4}{c|}{\textbf{Number of Siblings}} & \\
  \textbf{Time Zone} & \textbf{1} & \textbf{2} & \textbf{3} & \textbf{4+} & \textbf{Total}\\ 
\hline
  \textbf{Eastern} & 3 & 6 & 1 & 14 & 24\\
  \textbf{Central} & 4 & 12 & 5 & 20 & 41\\
  \textbf{Mountain} & 21 & 6 & 3 & 7 & 37 \\
  \textbf{Pacific} & 6 & 2 & 8 & 9 & 25\\
\hline
  \textbf{Total} & 34 & 26 & 16 & 50 & 126\\
\hline
\end{tabular}
\end{center}
 \end{table}

Я хочу поместить это в фрейм данных r, например, для его построения. Буду признателен за любую помощь в этом!

Большое спасибо!

1 Ответ

1 голос
/ 16 февраля 2020

Предполагая, что в myfile.tex есть строки, показанные в вопросе, и нет других строк, начинающихся с \textbf (возможно, с предшествующим пробелом), сначала прочитайте его в L, извлеките строки, начинающиеся с \textbf{ ( возможно предшествует пробел), дающий L2 и затем удаляющий \textbf{...}, оставляя только закрытую часть, чтобы дать L3. Теперь прочитайте, что при использовании read.table предоставление DF.

L <- readLines("myfile.tex")
L2 <- grep("^ *.textbf", L, value = TRUE)
L3 <- gsub(".textbf.(.*?)\\}", "\\1", L2)
DF <- read.table(text = L3, sep = "&", header = TRUE, 
  strip.white = TRUE, check.names = FALSE, comment.char = "\\")

предоставление:

> DF
  Time Zone  1  2  3 4+ Total
1   Eastern  3  6  1 14    24
2   Central  4 12  5 20    41
3  Mountain 21  6  3  7    37
4   Pacific  6  2  8  9    25
5     Total 34 26 16 50   126
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...