[R] how to combine data of several csv-files
Antje
niederlein-rstat at yahoo.de
Mon Jul 30 16:18:44 CEST 2007
Hello,
thank you for your help. But I guess, it's still not what I want... printing df.my gives me
df.my
v1 v2 v3 v4 v5 v6 v7 v8
1 NA -0.6442149 0.02354036 -1.40362589 -1.1829260 1.17099178 -0.046778203 NA
2 NA -0.2047012 -1.36186952 0.13045724 2.1411553 0.49248118 -0.233788840 NA
3 NA -1.1986041 -0.42197792 -0.84651458 -0.1327081 -0.18690065 0.443908897 NA
4 NA -0.2097442 1.50445971 1.57005071 -0.1053442 1.50050976 -1.649740180 NA
5 NA -0.7343465 -1.76763996 0.06961015 -0.8179396 -0.65552410 0.003991354 NA
6 NA -1.3888750 0.53722404 0.25269771 -1.2342698 -0.01243247 -0.228020092 NA
now, I have to combine like this:
v1 v2 v3 v4 v5 v6 v7 v8
NA cat1 cat1 cat1 cat2 cat2 cat2 NA
-->
mean(df.my$v2[1],df.my$v3[1],df.my$v4[1])
mean(df.my$v2[2],df.my$v3[2],df.my$v4[2])
mean(df.my$v2[3],df.my$v3[3],df.my$v4[3])
mean(df.my$v2[4],df.my$v3[4],df.my$v4[4])
mean(df.my$v2[5],df.my$v3[5],df.my$v4[5])
mean(df.my$v2[6],df.my$v3[6],df.my$v4[6])
the same for v5, v6 and v7
further, I'm not sure how to avoid the list, because this is the result of the processing I did before...
Ciao,
Antje
8rino-Luca Pantani schrieb:
> I hope I see.
>
> Why not try the following, and avoid lists, which I'm not still able to
> manage properly ;-)
> 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
> (df.my <- cbind.data.frame(v1, v2, v3, v4, v5, v6, v7, v8))
> (df.my2 <- reshape(df.my,
> varying=list(c("v1","v2","v3", "v4","v5","v6","v7","v8")),
> idvar="sequential",
> timevar="cat",
> direction="long"
> ))
> aggregate(df.my2$v1, by=list(category=df.my2$cat), mean)
> aggregate(df.my2$v1, by=list(category=df.my2$cat), function(x){sd(x,
> na.rm = TRUE)})
>
>
> Antje ha scritto:
>> 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
>>
>>
>>
>
More information about the R-help
mailing list