studiodio org for r r-faq

org - Error en<my code>: objeto de tipo ''closure'' no es subconjunto



r studiodio (3)

Finalmente pude descifrar el código de mi raspado . Parecía estar funcionando bien y luego, de repente, cuando lo ejecuté de nuevo, recibí el siguiente mensaje de error:

Error in url[i] = paste("http://en.wikipedia.org/wiki/", gsub(" ", "_", : object of type ''closure'' is not subsettable

No estoy seguro de por qué ya que no cambié nada en mi código.

Por favor avise.

library(XML) library(plyr) names <- c("George Clooney", "Kevin Costner", "George Bush", "Amar Shanghavi") for(i in 1:length(names)) { url[i] = paste(''http://en.wikipedia.org/wiki/'', gsub(" ","_", names[i]) , sep="") # some parsing code }


Creo que querías hacer url[i] <- paste(...

en lugar de url[i] = paste(... Si es así reemplazar = con <- .


En general, este mensaje de error significa que ha intentado utilizar la indexación en una función. Puede reproducir este mensaje de error con, por ejemplo

mean[1] ## Error in mean[1] : object of type ''closure'' is not subsettable mean[[1]] ## Error in mean[[1]] : object of type ''closure'' is not subsettable mean$a ## Error in mean$a : object of type ''closure'' is not subsettable

El cierre mencionado en el mensaje de error es (sin apretar) la función y el entorno que almacena las variables cuando se llama a la función.

En este caso específico, como mencionó Joshua, está intentando acceder a la función url como una variable. Si defines una variable llamada url , el error desaparece.

Como una buena práctica, generalmente debería evitar nombrar variables después de las funciones de base-R. (La data variables de llamada es una fuente común de este error).

Hay varios errores relacionados para intentar subconjunto de operadores o palabras clave.

`+`[1] ## Error in `+`[1] : object of type ''builtin'' is not subsettable `if`[1] ## Error in `if`[1] : object of type ''special'' is not subsettable


No define el vector, url , antes de intentar subconjunto. url también es una función en el paquete base, por lo que url[i] intenta subconjuntar esa función ... lo cual no tiene sentido.

Probablemente definió url en su sesión R anterior, pero olvidó copiar ese código en su secuencia de comandos.