Hola Carlos ... soy nuevo en el uso de R (comence hace un par de meses) y
aun estoy comprendiendo la logica de trabajo del programa ... voy a
explicar lo del codigo pero antes un par e aclaraciones:
1. Tengo muchos archivos que provienen de las lecturas de muestras en un
citometro, todos comienzan con el prefijo "dat" y el dia en que se hizo la
lectura que fue el 12, es decir, con "dat12", por eso el filtro en el
comando ls(pattern="dat12").
2. Los archivos .FCS (de FlowCytometry) son del tipo flowFrame, el que
permite guardar los datos leidos por el citometro (estos van en una matriz)
y ademas permite guardar una especie de metadatos que caracterizan la
informacion, la descripcion completa aparece en ?flowFrame. Asi es que para
poder usar los datos de la matriz contenida en el flowFrame hay que usar la
funcions exprs() que la extrae ...

entonces, para calcular una sola media por ahora (luego agregamos la otra):

1 crear un vector llamado "lista" que contendra la lista de archivos que se
van a usar
2. crear el vector que contendra las medias, este posee tantas filas como
numero de archivos a usar (dado por el largo de "lista")
3. calcular la media de la columna de interes en el archivo de interes
4. asignar esta media a una fila del archivo creado en el punto 2
5. repetir los pasos 3 y 4 para todos los archivos de la "lista".

El seudo codigo que me indicas es mas o menos lo mismo que trate de hacer
... el problema es como construir correctamente el nombre de cada archivo
para acceder correctamente a la columna de interes dentro del flowFrame,
eso es lo que falla creo ...

Saludos y gracias,

eric.



2011/12/23 Carlos Ortega <cof@qualityexcellence.es>

> Hola,
>
> Disculpa, tengo alguna duda de cómo llegas al código que propones.
> Parece como si ya tuvieras en memoria los 100 ficheros (objetos)... y por
> otro lado no sé qué es la función "exprs()".
>
> Dand un paso para atrás, para estar en el mismo contexto, mira si este
> pseudo-código de cómo tratar el problema es válido para tu problema:
>
> *conseguir listado de ficheros con un patrón determinado de nombre
> para cada fichero
>   conseguir la media de la segunda columna med.seg
>   conseguir la media de la sexta columna
>      incluir la media de la 6 columna como un nuevo elemento de un vector
> v.med*
> *crear un data.frame con el vector v.med y med.seg*
>
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>
> El 23 de diciembre de 2011 03:56, Eric <ericconchamunoz@gmail.com>escribió:
>
> Hola, habia encontrado lo que me señalas y lo cambie sin resultados
>> positivos, me aparece el mismo error ... si alguien tiene alguna otra idea
>> para probar estare agradecido :)  ...
>>
>> Saludos, eric.
>>
>> pd. cdo uno selecciona "contestar a todos" se abre otro hilo o es la forma
>> correcta de contestar??
>>
>>
>>
>>
>> 2011/12/22 Carlos J. Gil Bellosta <cgb@datanalytics.com>
>>
>> > Hola, ¿qué tal?
>> >
>> > No conozco los detalles del objeto al que te refieres, pero creo que
>> > la expresión adecuada no es
>> >
>> > exprs(lista[i][,5]))
>> >
>> > sino
>> >
>> > exprs( lista[[i]] )[,5]
>> >
>> > Un saludo,
>> >
>> > Carlos J. Gil Bellosta
>> > http://www.datanalytics.com
>> >
>> > El día 22 de diciembre de 2011 17:57, Eric <ericconchamunoz@gmail.com>
>> > escribió:
>> > > Queridos amigos tengo el siguiente problema:
>> > >
>> > > Tengo alrededor de 100 archivos del tipo flowFrame (datos de
>> citometria)
>> > > que he importado a R. Estos archivos tienen 6 columnas y 10.000 (diez
>> > mil)
>> > > filas. Tengo que calcular el promedio de la quinta columna y
>> graficarlo
>> > > contra el promedio de la segunda columna. La segunda columna tiene el
>> > mismo
>> > > valor para las 10.000 filas en cada archivo asi es que sabemos el
>> > promedio
>> > > de antemano, pero quiero incluirlo en el calculo de todos modos. Para
>> > > calcular las medias he creado el siguiente nano-algoritmo que incluye
>> un
>> > > ciclo "for" :
>> > >
>> > > lista <- ls(pattern="dat12")    # para usar solo los archivos que son
>> del
>> > > mes 12 que son alrededor de 100
>> > > medias <- c(1:length(lista))
>> > > for (i in length(lista)){
>> > > medias[i] <- mean(exprs(lista[i][,5]))
>> > > }
>> > >
>> > > pero obtengo el siguiente error:
>> > >
>> > > Error in exprs(lista[i][, 5]) :
>> > >  error in evaluating the argument 'object' in selecting a method for
>> > > function 'exprs': Error in lista[i][, 5] : incorrect number of
>> dimensions
>> > >
>> > > parece que usar *lista[i][,5]* como argumento de la funcion exprs es
>> un
>> > > error , porque lista[i] no se comporta como un nombre de archivo como
>> yo
>> > > crei que haria y esto es lo que no se como hacer, es decir, como se
>> hace
>> > > para poder utilizar los nombres contenidos en el vector "lista" y
>> > construir
>> > > el argumento de la funcion "exprs" correctamente ... o como se puede
>> > hacer
>> > > de otro modo esto mismo??
>> > >
>> > > me explico bien ??
>> > >
>> > > entre parentesis es la primera vez que trato de hacer un ciclo en R y
>> > quiza
>> > > hasta eso este mal ...
>> > >
>> > > Saludos y muchas gracias por su ayuda,
>> > >
>> > > Eric.
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > > --
>> > > Nota: las tildes se han omitido para evitar conflictos con algunos
>> > lectores
>> > > de correo.
>> > >
>> > > * Un economista es un experto que sabrá mañana por qué las cosas que
>> > predijo
>> > > ayer no han sucedido hoy (Laurence Peter).
>> > >
>> > > * SATYÂT NÂSTI PARO DHARMAH
>> > >
>> > >        [[alternative HTML version deleted]]
>> > >
>> > >
>> > > _______________________________________________
>> > > R-help-es mailing list
>> > > R-help-es@r-project.org
>> > > https://stat.ethz.ch/mailman/listinfo/r-help-es
>> > >
>> >
>>
>>
>>
>> --
>> Nota: las tildes se han omitido para evitar conflictos con algunos
>> lectores
>> de correo.
>>
>> * Un economista es un experto que sabrá mañana por qué las cosas que
>> predijo
>> ayer no han sucedido hoy (Laurence Peter).
>>
>> * SATYÂT NÂSTI PARO DHARMAH
>>
>>        [[alternative HTML version deleted]]
>>
>>
>> _______________________________________________
>> R-help-es mailing list
>> R-help-es@r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>
>>
>


-- 
Nota: las tildes se han omitido para evitar conflictos con algunos lectores
de correo.

* Un economista es un experto que sabrá mañana por qué las cosas que predijo
ayer no han sucedido hoy (Laurence Peter).

* SATYÂT NÂSTI PARO DHARMAH

	[[alternative HTML version deleted]]

