[R-es] Unir varias columnas en una sola

Fernando Macedo fermace en gmail.com
Sab Feb 16 22:12:51 CET 2013


Eso, por ahí es el asunto, tengo que estudiar más el comando apply, o 
mejorar mi creatividad.

Saludos y muchas gracias!!!

Fernando


El 16/02/13 19:06, Carlos J. Gil Bellosta escribió:
> data(iris)
> apply(iris[,-1], 1, paste,  collapse = " ")
>
> Un saludo,
>
> Carlos J. Gil Bellosta
> http://www.datanalytics.com
>
> El día 16 de febrero de 2013 22:01, Fernando Macedo
> <fermace en gmail.com> escribió:
>> Muchas gracias Carlos, esta puede ser una manera, pero omití decir que
>> tengo que juntar en principio 90 columnas y luego podrían ser unas
>> bastantes más, con lo que escribir cada columna por separado en el
>> comando paste() resulta poco práctico.
>>
>> Estuve tratando de usar colnames embutido en el paste o
>> dat[,2:ncol(dat)] pero no obtengo lo que busco. ¿Alguna otra idea de
>> como poder usar el paste?
>>
>> Puedo separa la parte del ID y los datos y trabajarlas por separado para
>> luego juntarlas, pero estoy en la misma al momento de juntar los datos
>> en un bloque solo.
>>
>> Saludos
>>
>> Fernando
>>
>>
>> El 16/02/13 18:08, Carlos Ortega escribió:
>>> Hola,
>>>
>>> Esta es una forma:
>>>
>>>> dat <- data.frame(ID=1:10, col2=rnorm(10), col3=rnorm(10),
>>> col4=rnorm(10))
>>>> dat
>>>     ID         col2        col3       col4
>>> 1   1  1.937262274 -1.40273857 -1.9050536
>>> 2   2  1.337924391  1.22860925  0.3107429
>>> 3   3 -0.002105218 -1.23291681 -0.8310097
>>> 4   4  0.058295336  1.61871970 -1.0597558
>>> 5   5 -0.091517513 -0.99422029  0.6173428
>>> 6   6  0.534795503  0.07014697  2.0995122
>>> 7   7 -0.075998477 -0.23940158 -1.0736795
>>> 8   8 -0.886673525  0.10413987  0.5884510
>>> 9   9  1.710306972  1.82942633  0.8287779
>>> 10 10 -0.208130660  0.30641105 -0.1400882
>>>> paste(dat$ID," ", dat$col2, dat$col3, dat$col4, sep="")
>>>   [1] "1 1.93726227410434-1.40273857014605-1.90505356394495"
>>>   [2] "2 1.337924391475771.228609247659310.31074290333037"
>>>   [3] "3 -0.00210521831655121-1.23291680520637-0.831009714534192"
>>>   [4] "4 0.05829533559436561.61871969701435-1.05975581471527"
>>>   [5] "5 -0.0915175127220064-0.9942202875567060.617342803251114"
>>>   [6] "6 0.534795503353260.0701469747674812.09951220785224"
>>>   [7] "7 -0.0759984771691605-0.239401578046576-1.07367948585017"
>>>   [8] "8 -0.8866735246857180.1041398738270440.588451006124745"
>>>   [9] "9 1.710306971765611.829426334369970.828777900768105"
>>> [10] "10 -0.2081306604078980.306411045612295-0.140088249050132"
>>>
>>>
>>> Saludos,
>>> Carlos Ortega
>>> www.qualityexcellence.es <http://www.qualityexcellence.es>
>>>
>>>
>>> El 16 de febrero de 2013 19:58, Fernando Macedo <fermace en gmail.com
>>> <mailto:fermace en gmail.com>> escribió:
>>>
>>>
>>>
>>>      Buenas a todos, relato directamente mi problema.
>>>
>>>      Estoy preparando unos datos para ingresarlos en otro programa que
>>>      requiere una columna de ID y el resto de la información toda
>>>      seguida sin
>>>      espacios.
>>>
>>>      El echo es que yo tengo la información separada en columnas, por
>>>      ejemplo:
>>>
>>>      ID col2 col3 col4 col5 etc.
>>>
>>>      y precisaría dejarla de la siguiente forma:
>>>
>>>      ID col2col3col4col5 etc.
>>>
>>>      Para luego escribir a disco y proceder con otro software.
>>>
>>>      Alguien sabe que comando puedo usar para juntar una serie columnas
>>>      todas
>>>      en un bloque solo?
>>>
>>>      Saludos y muchas gracias de ante mano!!
>>>
>>>      Fernando Macedo
>>>
>>>      _______________________________________________
>>>      R-help-es mailing list
>>>      R-help-es en r-project.org <mailto:R-help-es en r-project.org>
>>>      https://stat.ethz.ch/mailman/listinfo/r-help-es
>>>
>>>
>>>
>>>
>>> --
>>> Saludos,
>>> Carlos Ortega
>>> www.qualityexcellence.es <http://www.qualityexcellence.es>
>>
>>          [[alternative HTML version deleted]]
>>
>>
>> _______________________________________________
>> R-help-es mailing list
>> R-help-es en r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>



Más información sobre la lista de distribución R-help-es