[R] how to combine data of several csv-files

Antje niederlein-rstat at yahoo.de
Tue Jul 31 09:06:26 CEST 2007


Hi Jim,

that's exactly what I'm looking for. Thank you so much. I think, I should look 
for some further documentation on list handling.
Many thanks also to "ottorino-luca.pantani at unifi.it" ;) for spending time in 
finding a solution...

Have a nice day!
Antje


jim holtman schrieb:
> This should do it:
> 
>> v1 <- NA
>> v2 <- rnorm(6)
>> v3 <- rnorm(6)
>> v4 <- rnorm(6)
>> v5 <- rnorm(6)
>> v6 <- rnorm(6)
>> v7 <- rnorm(6)
>> v8 <- rnorm(6)
>> v8 <- NA
>>
>> list <- list(v1,v2,v3,v4,v5,v6,v7,v8)
>> categ <- c(NA,"cat1","cat1","cat1","cat2","cat2","cat2",NA)
>>
>> # create partitioned list
>> list.cat <- split(list, categ)
>> # combine each partition into a matrix
>> list.mat <- lapply(list.cat, function(x) do.call('rbind', x))
>> # now take the means of each column
>> lapply(list.mat, colMeans)
> $cat1
> [1] -0.5699080  0.3855693  1.1051809  0.2379324  0.6684713  0.3240003
> 
> $cat2
> [1]  0.38160462 -0.10559496 -0.40963090 -0.09507354  0.95021406 -0.31491450
> 
> 
> 
> On 7/30/07, Antje <niederlein-rstat at yahoo.de> wrote:
>> okay, I played a bit around and now I have some kind of testcase for you:
>>
>> v1 <- NA
>> v2 <- rnorm(6)
>> v3 <- rnorm(6)
>> v4 <- rnorm(6)
>> v5 <- rnorm(6)
>> v6 <- rnorm(6)
>> v7 <- rnorm(6)
>> v8 <- rnorm(6)
>> v8 <- NA
>>


>> list <- list(v1,v2,v3,v4,v5,v6,v7,v8)
>> categ <- c(NA,"cat1","cat1","cat1","cat2","cat2","cat2",NA)
>>
>>  > list
>> [[1]]
>> [1] NA
>>
>> [[2]]
>> [1] -0.6442149 -0.2047012 -1.1986041 -0.2097442 -0.7343465 -1.3888750
>>
>> [[3]]
>> [1]  0.02354036 -1.36186952 -0.42197792  1.50445971 -1.76763996  0.53722404
>>
>> [[4]]
>> [1] -1.40362589  0.13045724 -0.84651458  1.57005071  0.06961015  0.25269771
>>
>> [[5]]
>> [1] -1.1829260  2.1411553 -0.1327081 -0.1053442 -0.8179396 -1.2342698
>>
>> [[6]]
>> [1]  1.17099178  0.49248118 -0.18690065  1.50050976 -0.65552410 -0.01243247
>>
>> [[7]]
>> [1] -0.046778203 -0.233788840  0.443908897 -1.649740180  0.003991354 -0.228020092
>>
>> [[8]]
>> [1] NA
>>
>> now, I need the means (and sd) of element 1 of list[2],list[3],list[4] (because they belong to "cat1") and
>>
>> = mean(-0.6442149, 0.02354036, -1.40362589)
>>
>> the same for element 2 up to element 6 (--> I would the get a vector containing the means for "cat1")
>> the same for the vectors belonging to "cat2".
>>
>> does anybody now understand what I mean?
>>
>> Antje
>>
>> ______________________________________________
>> R-help at stat.math.ethz.ch mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
> 
>



More information about the R-help mailing list