Pregunta

Digamos que quiero reproducir un ejemplo publicado en StackOverflow. Algunos han sugerido que los carteles utilicen dput () para ayudar a simplificar este proceso o uno de los conjuntos de datos disponibles en el paquete base .

En este caso, sin embargo, supongamos que solo se me ha dado la salida del marco de datos:

> site.data
    site year     peak
1  ALBEN    5 101529.6
2  ALBEN   10 117483.4
3  ALBEN   20 132960.9
8  ALDER    5   6561.3
9  ALDER   10   7897.1
10 ALDER   20   9208.1
15 AMERI    5  43656.5
16 AMERI   10  51475.3
17 AMERI   20  58854.4

¿Tengo otras opciones además de guardar esto como un archivo de texto y usar read.table () ?

¿Fue útil?

Solución 2

Aquí hay una opción útil:

site.data <- read.table(textConnection(
"        site year     peak
1  ALBEN    5 101529.6
2  ALBEN   10 117483.4
3  ALBEN   20 132960.9
8  ALDER    5   6561.3
9  ALDER   10   7897.1
10 ALDER   20   9208.1
15 AMERI    5  43656.5
16 AMERI   10  51475.3
17 AMERI   20  58854.4"))

Otros consejos

Esa es una buena solución. Supongo que hay una manera de hacer esto con RCurl, como en esta publicación que eliminó wikipedia .

Pero como un punto de discusión más general: ¿por qué no solo usamos datos de los conjuntos de datos " paquete en R? Entonces todos tendrán los datos simplemente llamando a la función data (), y hay conjuntos de datos para cubrir la mayoría de los casos.

[Editar]: pude hacer esto. Es claramente más trabajo (es decir, poco práctico) que su solución. :)

[Editar 2]: envolví esto en una función y lo probé con otra página.

getSOTable <- function(url, code.block=2, raw=FALSE, delimiter="code") {
  require(RCurl)
  require(XML)

  webpage <- getURL(url)
  webpage <- readLines(tc <- textConnection(webpage)); close(tc)
  pagetree <- htmlTreeParse(webpage, error=function(...){}, useInternalNodes = TRUE)
  x <- xpathSApply(pagetree, paste("//*/", delimiter, sep=""), xmlValue)[code.block]  
  if(raw)
    return(strsplit(x, "\n")[[1]])
  else 
    return(read.table(textConnection(strsplit(x, "\n")[[1]][-1])))
}

getSOTable("https://stackoverflow.com/questions/1434897/how-do-i-load-example-datasets-in-r")
    site year     peak
1  ALBEN    5 101529.6
2  ALBEN   10 117483.4
3  ALBEN   20 132960.9
8  ALDER    5   6561.3
9  ALDER   10   7897.1
10 ALDER   20   9208.1
15 AMERI    5  43656.5
16 AMERI   10  51475.3
17 AMERI   20  58854.4

getSOTable("https://stackoverflow.com/questions/1428174/quickly-generate-the-cartesian-product-of-a-matrix", code.block=10)
   X1 X2 X3 X4
1   1 11  1 11
2   1 11  2 12
3   1 11  3 13
4   1 11  4 14
5   1 11  5 15
6   1 11  6 16
7   1 11  7 17
8   1 11  8 18
9   1 11  9 19
10  1 11 10 20
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top