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.