130 votes

Erreur dans <my code> : l'objet de type 'fermeture' n'est pas paramétrable

J'ai enfin pu trouver le code pour mon grattage. Il semblait bien fonctionner et tout d'un coup quand je l'ai relancé, j'ai eu le message d'erreur suivant :

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

Je ne sais pas pourquoi car je n'ai rien changé dans mon code.

Veuillez nous en informer.

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
}

39voto

Joshua Ulrich Points 68776

Vous ne définissez pas le vecteur, url, avant d'essayer de le sous-ensembler. url est également une fonction dans le paquet de base, donc url[i] tente de sous-ensembler cette fonction... ce qui n'a pas de sens.

Vous avez probablement défini url lors de votre session R précédente, mais vous avez oublié de copier ce code dans votre script.

1voto

Abhishek Points 307

En cas de cette erreur similaire Avertissement : Erreur dans $ : l'objet du type 'fermeture' n'est pas paramétrable [ Pas de trace de pile disponible]

Ajoutez simplement le nom de paquet correspondant en utilisant : : e.g.

au lieu de tags(....)

write shiny : :tags(....)

1voto

ABCD Points 1686

Cela pourrait signifier une variable indéfinie.

0voto

TheMooCows237 Points 118

J'ai eu ce problème en essayant de supprimer un élément ui à l'intérieur d'un événement réactif :

myReactives <- eventReactive(input$execute, {
    ... # Some other long running function here
    removeUI(selector = "#placeholder2")
})

Je recevais cette erreur, mais pas sur la ligne d'élément removeUI, il était dans l'observateur suivant après pour une raison quelconque. Retirer la méthode removeUI de l'événementReactive et la placer ailleurs a supprimé cette erreur pour moi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X