¿Trazar usando pgfplots de un archivo de texto en formato largo (frente a formato ancho)?

¿Trazar usando pgfplots de un archivo de texto en formato largo (frente a formato ancho)?

En el lenguaje de programación estadística.R, hay dos formas diferentes de representar datos. Elforma ampliase parece a lo siguiente:

     subject time age weight height
1 John Smith    1  33     90   1.87
2 Mary Smith    1  NA     55   1.54

Elforma largase parece a lo siguiente:

     subject variable value
1 John Smith     time  1.00
2 Mary Smith     time  1.00
3 John Smith      age 33.00
4 Mary Smith      age    NA
5 John Smith   weight 90.00
6 Mary Smith   weight 55.00
7 John Smith   height  1.87
8 Mary Smith   height  1.54

Fuente de ejemplo: Hadley Wickhampapel. Pero tenga en cuenta que cambié el peso de Mary a 55, donde antes era NA.

¿Es posible leer un archivo de texto de formato largo y trazar, por ejemplo, la altura frente al peso?

\documentclass{standalone}

\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
\begin{axis}
  % the following code doesn't work, but communicates the idea
  % of what I want to work
  \addplot [x variable=height,y variable=weight] {input.txt};
\end{axis}
\end{tikzpicture}
\end{document}

La razón por la que hago esta pregunta es porque quiero trazar el resultado de un programa de simulación por computadora que he escrito, y es más fácil generarlo en formato largo que en formato amplio. Actualmente, uso un Rscript convert.Rpara leer el archivo de texto in.txten formato largo y convertirlo en un archivo de texto.out.txt en formato ancho, lo quediagramas de pgfpuedo leer. Sería más conveniente si de alguna manera pgfplots pudiera leer y procesar in.txtdirectamente sin necesidad de ejecutarlo convert.Rmanualmente.

Respuesta1

[convertido de mi comentario]:

pgfplotstableviene sin soporte para la "forma larga". Si desea algún script de conversión que sea independiente de R, puede considerar escribir un script TeX (basado en pgfplotstableuna programación TeX básica) o quizás un script LUA. O invoca su Rscript a través de Shell escape o mediante\addplot shell

información relacionada