%3F.png)
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 R
script convert.R
para leer el archivo de texto in.txt
en 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.txt
directamente sin necesidad de ejecutarlo convert.R
manualmente.
Respuesta1
[convertido de mi comentario]:
pgfplotstable
viene 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 pgfplotstable
una programación TeX básica) o quizás un script LUA. O invoca su R
script a través de Shell escape o mediante\addplot shell