2016-12-04 3 views
0

J'ai une mission pour stat computing, et maintenant je suis coincé sur quelque chose que vous pensez probablement assez facile, je ne vais pas vous demander de résoudre le tout pour moi, cependant c'est le problème:Comment boucler un strplit sur plusieurs colonnes dans R

J'ai une trame de données avec plusieurs colonnes je dois glisser ces colonnes en deux je sais comment Slipt une colonne, cette colonne de cas trois:

strsplit((my_data[,3]), split = " ") 

si J'essaye de faire ceci au-dessus de la colonne J'ai besoin de ceci pour:

strsplit((my_data[,3:14]), split = " ") 

Je reçois cette erreur: Erreur dans StrSplit ((my_data [, 03:14]), split = " «): argument sans caractère

Je comprends que je dois probablement une boucle, mais Je ne sais pas comment faire, ce que j'ai essayé:

test <- for(i in 3:ncol(my_data)){ 
    strsplit((my_data[i]), split = " ") 
} 

mais oui cela ne fonctionne pas

entrez le code ici

+0

La raison n'est pas à cause d'une colonne non-caractère, c'est seulement parce que vous partagez un 'data.frame' c'est-à-dire' df1 <- data.frame (col1 = c ('l l', 'a b', 'c d'), col2 = c ('a c', 'd' ',' b f '), stringsAsFactors = FALSE) strsplit (df1,' ') # Erreur dans strsplit (df1, ""): argument non-caractère ». Mais bien sûr, 'strsplit' fonctionne sur la colonne' character' et s'assure que vos colonnes sont de la classe 'character'. Ici, je voudrais utiliser lapply (df1, la fonction (x) strsplit (x, '')) ' – akrun

Répondre

0

Vous pouvez postuler pour ce poste:

my_data_split = apply(my_data, 2, function(x) strsplit(x, split = " ")) 

Ceci va stocker les résultats dans une liste. Si vous souhaitez stocker les résultats dans un autre type de données, vous pouvez utiliser l'une des autres fonctions apply.

Bonne chance!

+0

merci beaucoup j'ai utilisé celui-ci à la place: my_data_314 <- sapply (my_data [, 3:14], strsplit, split = ""), puisque j'ai remarqué les colonnes 1 et 2 qui n'avaient pas besoin de diviser les valeurs de caractères werent non plus ... – Good2Bi

+0

Non J'essaie simplement de créer des noms de colonne pour my_data_314 [1] et [2] qui incluent l'ancien nom et un A ou B – Good2Bi