Somme de la liste retournée: Erreur: invalid 'type' (liste) de l'argument

Pour mon script, je suis de retour d'un tas de variables dans R, et après la rupture de mon script en plus de fonctions dont j'ai besoin pour le retour de certaines listes, avec d'autres données.

Je sais que je peux retourner plusieurs valeurs par c(value1, value2). Mais comment puis-je le faire quand l'un des articles retournés est en fait une liste?
Je suis de retour listOne, cependant, il ressemble au type de données est modifié lors du retour.
Comment puis-je obtenir retour à la liste sans changer son type?

Voici un exemple:

  B <- function(){
   listOne <- c(1,2,3,4,5,6)
   testString <- "Test"
   return(list(listOne, testString))
 }
  returnlist <- B()

Affectation de variables selon la liste retournée:

  copy.listOne <- returnlist# [1]
  copy.testString <- returnlist[2]

Résultat attendu:

  listOne <- c(1,2,3,4,5,6)
  print(sum(listOne))
# [1] 21

De sortie réelle:

  print(sum(copy.listOne))
Error in print(sum(copy.listOne)) : 
  error in evaluating the argument 'x' in selecting a method for function 'print': Error in sum(copy.listOne) : invalid 'type' (list) of argument
  • utilisation [[, returnlist[[1]], vous devez également modifier la question précédente...
  • Merci! qui a fait le tour, si vous voulez l'écrire comme réponse, je vais l'accepter! En fait, j'ai supprimé l'autre question, j'avais déjà tenté d'utiliser list avant, mais ensuite j'ai réalisé que c'était à cause de différents types de données. C'est pourquoi j'ai décidé de supprimer la vieille question et de le réécrire complètement. espérons que c'était le bon déroulement de l'action.
  • Merci @Bas . Habituellement, il vous suffit d'éditer votre question précédente au lieu de la supprimer et ensuite de poster un nouveau. Mais c'est bien pour le moment 🙂 . Je ll post comme une réponse.
InformationsquelleAutor Bas | 2015-12-07