Thanks a lot for your quick reply. I made a mistake in the question, I meant to ask every 4 (or 12) rows not columns. Apologies. Thanks again! Sincerely, Milu On Wed, Nov 9, 2016 at 5:45 PM, Dalthorp, Daniel <ddalthorp at usgs.gov> wrote:> Hi Milu, > The following should work for an array x (provided dim(x)[2] is divisible > by 4): > > colMeans(x[,0:(dim(x)[2]/4-1)*4+1]) > > -Dan > > On Wed, Nov 9, 2016 at 8:29 AM, Miluji Sb <milujisb at gmail.com> wrote: > >> Dear all, >> >> I have a dataset with hundreds of columns, I am only providing only 12 >> columns. Is it possible to take the mean of every four (or 12) columns >> (value601, value602, value603, value604 etc.in this case) and repeat for >> the hundreds of columns? Thank you. >> >> Sincerely, >> >> Milu >> >> structure(list(value601 = c(10.1738710403442, 3.54112911224365, >> 12.9192342758179, 3.17447590827942, 11.7332258224487, 7.68282270431519, >> -7.11564493179321, 0.987620949745178, 13.0476207733154, 6.36939525604248 >> ), value602 = c(13.0642414093018, 5.53129482269287, 16.0519638061523, >> 2.88946437835693, 14.9204912185669, 9.42428588867188, -6.80674123764038, >> -0.614241063594818, 16.7947769165039, 7.9541072845459), value603 >> c(22.0399188995361, >> 14.398024559021, 24.9523792266846, 12.0878629684448, 23.6459674835205, >> 18.3277816772461, -2.54092741012573, 10.5550804138184, 25.1016540527344, >> 16.2166938781738), value604 = c(27.7165412902832, 20.3255825042725, >> 30.8430004119873, 16.6856250762939, 29.2485408782959, 24.3775005340576, >> 6.47758340835571, 15.5897912979126, 30.7387924194336, 22.3637084960938 >> ), value605 = c(31.6644763946533, 23.4093952178955, 35.1488723754883, >> 19.7132263183594, 33.3924179077148, 29.5846366882324, 10.2083873748779, >> 19.3551616668701, 35.3076629638672, 27.4299201965332), value606 >> c(33.9698333740234, >> 26.8574161529541, 36.8900833129883, 22.8604583740234, 34.8642921447754, >> 33.8158760070801, 14.7055835723877, 22.1144580841064, 37.0545425415039, >> 32.1087913513184), value607 = c(36.0279846191406, 26.9297180175781, >> 38.2701225280762, 23.2643146514893, 36.7398796081543, 34.1216125488281, >> 17.1387901306152, 24.0419750213623, 37.8542327880859, 32.7677421569824 >> ), value608 = c(34.0242347717285, 25.7720966339111, 36.4897193908691, >> 22.0332260131836, 34.8011703491211, 32.6856842041016, 16.6232261657715, >> 21.5571365356445, 36.1491546630859, 31.1716938018799), value609 >> c(27.5402088165283, >> 21.7590408325195, 30.5214176177979, 18.4252090454102, 29.1156253814697, >> 26.9878330230713, 12.4962501525879, 17.7259578704834, 30.9099159240723, >> 25.4832077026367), value610 = c(23.4706859588623, 17.0126209259033, >> 26.8166942596436, 15.297459602356, 25.1733055114746, 23.5616931915283, >> 8.86995983123779, 13.5793552398682, 27.5732250213623, 22.1691932678223 >> ), value611 = c(14.5820417404175, 9.08279132843018, 17.8419170379639, >> 8.36016654968262, 16.5633754730225, 14.8123331069946, 1.32095837593079, >> 5.73408317565918, 18.9752082824707, 13.5729999542236), value612 >> c(9.12979793548584, >> 2.79943537712097, 11.6504030227661, 2.21584677696228, 10.5404834747314, >> 7.55471754074097, -5.58141136169434, -0.566209673881531, 12.3264112472534, >> 6.65576601028442)), .Names = c("value601", "value602", "value603", >> "value604", "value605", "value606", "value607", "value608", "value609", >> "value610", "value611", "value612"), row.names = c("1", "2", >> "3", "4", "5", "6", "7", "8", "9", "10"), class = "data.frame") >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide http://www.R-project.org/posti >> ng-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> >> > > > -- > Dan Dalthorp, PhD > USGS Forest and Rangeland Ecosystem Science Center > Forest Sciences Lab, Rm 189 > 3200 SW Jefferson Way > Corvallis, OR 97331 > ph: 541-750-0953 > ddalthorp at usgs.gov > >[[alternative HTML version deleted]]
rowMeans(x[0:(dim(x)[1]/4-1)*4+1, ]) On Wed, Nov 9, 2016 at 9:00 AM, Miluji Sb <milujisb at gmail.com> wrote:> Thanks a lot for your quick reply. I made a mistake in the question, I > meant to ask every 4 (or 12) rows not columns. Apologies. Thanks again! > > Sincerely, > > Milu > > On Wed, Nov 9, 2016 at 5:45 PM, Dalthorp, Daniel <ddalthorp at usgs.gov> > wrote: > >> Hi Milu, >> The following should work for an array x (provided dim(x)[2] is divisible >> by 4): >> >> colMeans(x[,0:(dim(x)[2]/4-1)*4+1]) >> >> -Dan >> >> On Wed, Nov 9, 2016 at 8:29 AM, Miluji Sb <milujisb at gmail.com> wrote: >> >>> Dear all, >>> >>> I have a dataset with hundreds of columns, I am only providing only 12 >>> columns. Is it possible to take the mean of every four (or 12) columns >>> (value601, value602, value603, value604 etc.in this case) and repeat >>> for >>> the hundreds of columns? Thank you. >>> >>> Sincerely, >>> >>> Milu >>> >>> structure(list(value601 = c(10.1738710403442, 3.54112911224365, >>> 12.9192342758179, 3.17447590827942, 11.7332258224487, 7.68282270431519, >>> -7.11564493179321, 0.987620949745178, 13.0476207733154, 6.36939525604248 >>> ), value602 = c(13.0642414093018, 5.53129482269287, 16.0519638061523, >>> 2.88946437835693, 14.9204912185669, 9.42428588867188, -6.80674123764038, >>> -0.614241063594818, 16.7947769165039, 7.9541072845459), value603 >>> c(22.0399188995361, >>> 14.398024559021, 24.9523792266846, 12.0878629684448, 23.6459674835205, >>> 18.3277816772461, -2.54092741012573, 10.5550804138184, 25.1016540527344, >>> 16.2166938781738), value604 = c(27.7165412902832, 20.3255825042725, >>> 30.8430004119873, 16.6856250762939, 29.2485408782959, 24.3775005340576, >>> 6.47758340835571, 15.5897912979126, 30.7387924194336, 22.3637084960938 >>> ), value605 = c(31.6644763946533, 23.4093952178955, 35.1488723754883, >>> 19.7132263183594, 33.3924179077148, 29.5846366882324, 10.2083873748779, >>> 19.3551616668701, 35.3076629638672, 27.4299201965332), value606 >>> c(33.9698333740234, >>> 26.8574161529541, 36.8900833129883, 22.8604583740234, 34.8642921447754, >>> 33.8158760070801, 14.7055835723877, 22.1144580841064, 37.0545425415039, >>> 32.1087913513184), value607 = c(36.0279846191406, 26.9297180175781, >>> 38.2701225280762, 23.2643146514893, 36.7398796081543, 34.1216125488281, >>> 17.1387901306152, 24.0419750213623, 37.8542327880859, 32.7677421569824 >>> ), value608 = c(34.0242347717285, 25.7720966339111, 36.4897193908691, >>> 22.0332260131836, 34.8011703491211, 32.6856842041016, 16.6232261657715, >>> 21.5571365356445, 36.1491546630859, 31.1716938018799), value609 >>> c(27.5402088165283, >>> 21.7590408325195, 30.5214176177979, 18.4252090454102, 29.1156253814697, >>> 26.9878330230713, 12.4962501525879, 17.7259578704834, 30.9099159240723, >>> 25.4832077026367), value610 = c(23.4706859588623, 17.0126209259033, >>> 26.8166942596436, 15.297459602356, 25.1733055114746, 23.5616931915283, >>> 8.86995983123779, 13.5793552398682, 27.5732250213623, 22.1691932678223 >>> ), value611 = c(14.5820417404175, 9.08279132843018, 17.8419170379639, >>> 8.36016654968262, 16.5633754730225, 14.8123331069946, 1.32095837593079, >>> 5.73408317565918, 18.9752082824707, 13.5729999542236), value612 >>> c(9.12979793548584, >>> 2.79943537712097, 11.6504030227661, 2.21584677696228, 10.5404834747314, >>> 7.55471754074097, -5.58141136169434, -0.566209673881531, >>> 12.3264112472534, >>> 6.65576601028442)), .Names = c("value601", "value602", "value603", >>> "value604", "value605", "value606", "value607", "value608", "value609", >>> "value610", "value611", "value612"), row.names = c("1", "2", >>> "3", "4", "5", "6", "7", "8", "9", "10"), class = "data.frame") >>> >>> [[alternative HTML version deleted]] >>> >>> ______________________________________________ >>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >>> https://stat.ethz.ch/mailman/listinfo/r-help >>> PLEASE do read the posting guide http://www.R-project.org/posti >>> ng-guide.html >>> and provide commented, minimal, self-contained, reproducible code. >>> >>> >> >> >> -- >> Dan Dalthorp, PhD >> USGS Forest and Rangeland Ecosystem Science Center >> Forest Sciences Lab, Rm 189 >> 3200 SW Jefferson Way >> Corvallis, OR 97331 >> ph: 541-750-0953 >> ddalthorp at usgs.gov >> >> >-- Dan Dalthorp, PhD USGS Forest and Rangeland Ecosystem Science Center Forest Sciences Lab, Rm 189 3200 SW Jefferson Way Corvallis, OR 97331 ph: 541-750-0953 ddalthorp at usgs.gov [[alternative HTML version deleted]]
Better is... rowMeans(x[0:((dim(x)[1]-1)/4)*4+1, ]) On Wed, Nov 9, 2016 at 9:00 AM, Miluji Sb <milujisb at gmail.com> wrote:> Thanks a lot for your quick reply. I made a mistake in the question, I > meant to ask every 4 (or 12) rows not columns. Apologies. Thanks again! > > Sincerely, > > Milu > > On Wed, Nov 9, 2016 at 5:45 PM, Dalthorp, Daniel <ddalthorp at usgs.gov> > wrote: > >> Hi Milu, >> The following should work for an array x (provided dim(x)[2] is divisible >> by 4): >> >> colMeans(x[,0:(dim(x)[2]/4-1)*4+1]) >> >> -Dan >> >> On Wed, Nov 9, 2016 at 8:29 AM, Miluji Sb <milujisb at gmail.com> wrote: >> >>> Dear all, >>> >>> I have a dataset with hundreds of columns, I am only providing only 12 >>> columns. Is it possible to take the mean of every four (or 12) columns >>> (value601, value602, value603, value604 etc.in this case) and repeat >>> for >>> the hundreds of columns? Thank you. >>> >>> Sincerely, >>> >>> Milu >>> >>> structure(list(value601 = c(10.1738710403442, 3.54112911224365, >>> 12.9192342758179, 3.17447590827942, 11.7332258224487, 7.68282270431519, >>> -7.11564493179321, 0.987620949745178, 13.0476207733154, 6.36939525604248 >>> ), value602 = c(13.0642414093018, 5.53129482269287, 16.0519638061523, >>> 2.88946437835693, 14.9204912185669, 9.42428588867188, -6.80674123764038, >>> -0.614241063594818, 16.7947769165039, 7.9541072845459), value603 >>> c(22.0399188995361, >>> 14.398024559021, 24.9523792266846, 12.0878629684448, 23.6459674835205, >>> 18.3277816772461, -2.54092741012573, 10.5550804138184, 25.1016540527344, >>> 16.2166938781738), value604 = c(27.7165412902832, 20.3255825042725, >>> 30.8430004119873, 16.6856250762939, 29.2485408782959, 24.3775005340576, >>> 6.47758340835571, 15.5897912979126, 30.7387924194336, 22.3637084960938 >>> ), value605 = c(31.6644763946533, 23.4093952178955, 35.1488723754883, >>> 19.7132263183594, 33.3924179077148, 29.5846366882324, 10.2083873748779, >>> 19.3551616668701, 35.3076629638672, 27.4299201965332), value606 >>> c(33.9698333740234, >>> 26.8574161529541, 36.8900833129883, 22.8604583740234, 34.8642921447754, >>> 33.8158760070801, 14.7055835723877, 22.1144580841064, 37.0545425415039, >>> 32.1087913513184), value607 = c(36.0279846191406, 26.9297180175781, >>> 38.2701225280762, 23.2643146514893, 36.7398796081543, 34.1216125488281, >>> 17.1387901306152, 24.0419750213623, 37.8542327880859, 32.7677421569824 >>> ), value608 = c(34.0242347717285, 25.7720966339111, 36.4897193908691, >>> 22.0332260131836, 34.8011703491211, 32.6856842041016, 16.6232261657715, >>> 21.5571365356445, 36.1491546630859, 31.1716938018799), value609 >>> c(27.5402088165283, >>> 21.7590408325195, 30.5214176177979, 18.4252090454102, 29.1156253814697, >>> 26.9878330230713, 12.4962501525879, 17.7259578704834, 30.9099159240723, >>> 25.4832077026367), value610 = c(23.4706859588623, 17.0126209259033, >>> 26.8166942596436, 15.297459602356, 25.1733055114746, 23.5616931915283, >>> 8.86995983123779, 13.5793552398682, 27.5732250213623, 22.1691932678223 >>> ), value611 = c(14.5820417404175, 9.08279132843018, 17.8419170379639, >>> 8.36016654968262, 16.5633754730225, 14.8123331069946, 1.32095837593079, >>> 5.73408317565918, 18.9752082824707, 13.5729999542236), value612 >>> c(9.12979793548584, >>> 2.79943537712097, 11.6504030227661, 2.21584677696228, 10.5404834747314, >>> 7.55471754074097, -5.58141136169434, -0.566209673881531, >>> 12.3264112472534, >>> 6.65576601028442)), .Names = c("value601", "value602", "value603", >>> "value604", "value605", "value606", "value607", "value608", "value609", >>> "value610", "value611", "value612"), row.names = c("1", "2", >>> "3", "4", "5", "6", "7", "8", "9", "10"), class = "data.frame") >>> >>> [[alternative HTML version deleted]] >>> >>> ______________________________________________ >>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >>> https://stat.ethz.ch/mailman/listinfo/r-help >>> PLEASE do read the posting guide http://www.R-project.org/posti >>> ng-guide.html >>> and provide commented, minimal, self-contained, reproducible code. >>> >>> >> >> >> -- >> Dan Dalthorp, PhD >> USGS Forest and Rangeland Ecosystem Science Center >> Forest Sciences Lab, Rm 189 >> 3200 SW Jefferson Way >> Corvallis, OR 97331 >> ph: 541-750-0953 >> ddalthorp at usgs.gov >> >> >-- Dan Dalthorp, PhD USGS Forest and Rangeland Ecosystem Science Center Forest Sciences Lab, Rm 189 3200 SW Jefferson Way Corvallis, OR 97331 ph: 541-750-0953 ddalthorp at usgs.gov [[alternative HTML version deleted]]
> On Nov 9, 2016, at 9:00 AM, Miluji Sb <milujisb at gmail.com> wrote: > > Thanks a lot for your quick reply. I made a mistake in the question, I > meant to ask every 4 (or 12) rows not columns. Apologies. Thanks again!Then try matrix( sapply( split( x , 0:(dim(x)[2]/4-1)*4+1] ), mean) Again assuming that dim(x)[1] is evenly divisible by 4. (It's not clear if you wanted these means "within columns" or "blocks defined by rows". This is lightly tested but should provide the latter. sapply( split ( unlist(x) , 0:(dim(x)[2]/4-1)*4+1 ), mean) 1 5 9 19.44819 19.22003 19.12812> > Sincerely, > > Milu > > On Wed, Nov 9, 2016 at 5:45 PM, Dalthorp, Daniel <ddalthorp at usgs.gov> wrote: > >> Hi Milu, >> The following should work for an array x (provided dim(x)[2] is divisible >> by 4): >> >> colMeans(x[, >> >> -Dan >> >> On Wed, Nov 9, 2016 at 8:29 AM, Miluji Sb <milujisb at gmail.com> wrote: >> >>> Dear all, >>> >>> I have a dataset with hundreds of columns, I am only providing only 12 >>> columns. Is it possible to take the mean of every four (or 12) columns >>> (value601, value602, value603, value604 etc.in this case) and repeat for >>> the hundreds of columns? Thank you. >>> >>> Sincerely, >>> >>> Milu >>> >>> structure(list(value601 = c(10.1738710403442, 3.54112911224365, >>> 12.9192342758179, 3.17447590827942, 11.7332258224487, 7.68282270431519, >>> -7.11564493179321, 0.987620949745178, 13.0476207733154, 6.36939525604248 >>> ), value602 = c(13.0642414093018, 5.53129482269287, 16.0519638061523, >>> 2.88946437835693, 14.9204912185669, 9.42428588867188, -6.80674123764038, >>> -0.614241063594818, 16.7947769165039, 7.9541072845459), value603 >>> c(22.0399188995361, >>> 14.398024559021, 24.9523792266846, 12.0878629684448, 23.6459674835205, >>> 18.3277816772461, -2.54092741012573, 10.5550804138184, 25.1016540527344, >>> 16.2166938781738), value604 = c(27.7165412902832, 20.3255825042725, >>> 30.8430004119873, 16.6856250762939, 29.2485408782959, 24.3775005340576, >>> 6.47758340835571, 15.5897912979126, 30.7387924194336, 22.3637084960938 >>> ), value605 = c(31.6644763946533, 23.4093952178955, 35.1488723754883, >>> 19.7132263183594, 33.3924179077148, 29.5846366882324, 10.2083873748779, >>> 19.3551616668701, 35.3076629638672, 27.4299201965332), value606 >>> c(33.9698333740234, >>> 26.8574161529541, 36.8900833129883, 22.8604583740234, 34.8642921447754, >>> 33.8158760070801, 14.7055835723877, 22.1144580841064, 37.0545425415039, >>> 32.1087913513184), value607 = c(36.0279846191406, 26.9297180175781, >>> 38.2701225280762, 23.2643146514893, 36.7398796081543, 34.1216125488281, >>> 17.1387901306152, 24.0419750213623, 37.8542327880859, 32.7677421569824 >>> ), value608 = c(34.0242347717285, 25.7720966339111, 36.4897193908691, >>> 22.0332260131836, 34.8011703491211, 32.6856842041016, 16.6232261657715, >>> 21.5571365356445, 36.1491546630859, 31.1716938018799), value609 >>> c(27.5402088165283, >>> 21.7590408325195, 30.5214176177979, 18.4252090454102, 29.1156253814697, >>> 26.9878330230713, 12.4962501525879, 17.7259578704834, 30.9099159240723, >>> 25.4832077026367), value610 = c(23.4706859588623, 17.0126209259033, >>> 26.8166942596436, 15.297459602356, 25.1733055114746, 23.5616931915283, >>> 8.86995983123779, 13.5793552398682, 27.5732250213623, 22.1691932678223 >>> ), value611 = c(14.5820417404175, 9.08279132843018, 17.8419170379639, >>> 8.36016654968262, 16.5633754730225, 14.8123331069946, 1.32095837593079, >>> 5.73408317565918, 18.9752082824707, 13.5729999542236), value612 >>> c(9.12979793548584, >>> 2.79943537712097, 11.6504030227661, 2.21584677696228, 10.5404834747314, >>> 7.55471754074097, -5.58141136169434, -0.566209673881531, 12.3264112472534, >>> 6.65576601028442)), .Names = c("value601", "value602", "value603", >>> "value604", "value605", "value606", "value607", "value608", "value609", >>> "value610", "value611", "value612"), row.names = c("1", "2", >>> "3", "4", "5", "6", "7", "8", "9", "10"), class = "data.frame") >>> >>> [[alternative HTML version deleted]] >>> >>> ______________________________________________ >>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >>> https://stat.ethz.ch/mailman/listinfo/r-help >>> PLEASE do read the posting guide http://www.R-project.org/posti >>> ng-guide.html >>> and provide commented, minimal, self-contained, reproducible code. >>> >>> >> >> >> -- >> Dan Dalthorp, PhD >> USGS Forest and Rangeland Ecosystem Science Center >> Forest Sciences Lab, Rm 189 >> 3200 SW Jefferson Way >> Corvallis, OR 97331 >> ph: 541-750-0953 >> ddalthorp at usgs.gov >> >> > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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.David Winsemius Alameda, CA, USA
> On Nov 9, 2016, at 9:24 AM, David Winsemius <dwinsemius at comcast.net> wrote: > > >> On Nov 9, 2016, at 9:00 AM, Miluji Sb <milujisb at gmail.com> wrote: >> >> Thanks a lot for your quick reply. I made a mistake in the question, I >> meant to ask every 4 (or 12) rows not columns. Apologies. Thanks again! > > Then try matrix( sapply( split( x , 0:(dim(x)[2]/4-1)*4+1] ), mean) > > Again assuming that dim(x)[1] is evenly divisible by 4. (It's not clear if you wanted these means "within columns" or "blocks defined by rows". This is lightly tested but should provide the latter. > > sapply( split ( unlist(x) , 0:(dim(x)[2]/4-1)*4+1 ), mean) > 1 5 9 > 19.44819 19.22003 19.12812I failed to understand Daniel's logic an blindly copied his sequence which was not what I thought it would produce. Your request for "every 4" seems problematic in that your example has 10 rows and you haven't said what to do with the "bottom" 2 rows. -- David> >> >> Sincerely, >> >> Milu >> >> On Wed, Nov 9, 2016 at 5:45 PM, Dalthorp, Daniel <ddalthorp at usgs.gov> wrote: >> >>> Hi Milu, >>> The following should work for an array x (provided dim(x)[2] is divisible >>> by 4): >>> >>> colMeans(x[, >>> >>> -Dan >>> >>> On Wed, Nov 9, 2016 at 8:29 AM, Miluji Sb <milujisb at gmail.com> wrote: >>> >>>> Dear all, >>>> >>>> I have a dataset with hundreds of columns, I am only providing only 12 >>>> columns. Is it possible to take the mean of every four (or 12) columns >>>> (value601, value602, value603, value604 etc.in this case) and repeat for >>>> the hundreds of columns? Thank you. >>>> >>>> Sincerely, >>>> >>>> Milu >>>> >>>> structure(list(value601 = c(10.1738710403442, 3.54112911224365, >>>> 12.9192342758179, 3.17447590827942, 11.7332258224487, 7.68282270431519, >>>> -7.11564493179321, 0.987620949745178, 13.0476207733154, 6.36939525604248 >>>> ), value602 = c(13.0642414093018, 5.53129482269287, 16.0519638061523, >>>> 2.88946437835693, 14.9204912185669, 9.42428588867188, -6.80674123764038, >>>> -0.614241063594818, 16.7947769165039, 7.9541072845459), value603 >>>> c(22.0399188995361, >>>> 14.398024559021, 24.9523792266846, 12.0878629684448, 23.6459674835205, >>>> 18.3277816772461, -2.54092741012573, 10.5550804138184, 25.1016540527344, >>>> 16.2166938781738), value604 = c(27.7165412902832, 20.3255825042725, >>>> 30.8430004119873, 16.6856250762939, 29.2485408782959, 24.3775005340576, >>>> 6.47758340835571, 15.5897912979126, 30.7387924194336, 22.3637084960938 >>>> ), value605 = c(31.6644763946533, 23.4093952178955, 35.1488723754883, >>>> 19.7132263183594, 33.3924179077148, 29.5846366882324, 10.2083873748779, >>>> 19.3551616668701, 35.3076629638672, 27.4299201965332), value606 >>>> c(33.9698333740234, >>>> 26.8574161529541, 36.8900833129883, 22.8604583740234, 34.8642921447754, >>>> 33.8158760070801, 14.7055835723877, 22.1144580841064, 37.0545425415039, >>>> 32.1087913513184), value607 = c(36.0279846191406, 26.9297180175781, >>>> 38.2701225280762, 23.2643146514893, 36.7398796081543, 34.1216125488281, >>>> 17.1387901306152, 24.0419750213623, 37.8542327880859, 32.7677421569824 >>>> ), value608 = c(34.0242347717285, 25.7720966339111, 36.4897193908691, >>>> 22.0332260131836, 34.8011703491211, 32.6856842041016, 16.6232261657715, >>>> 21.5571365356445, 36.1491546630859, 31.1716938018799), value609 >>>> c(27.5402088165283, >>>> 21.7590408325195, 30.5214176177979, 18.4252090454102, 29.1156253814697, >>>> 26.9878330230713, 12.4962501525879, 17.7259578704834, 30.9099159240723, >>>> 25.4832077026367), value610 = c(23.4706859588623, 17.0126209259033, >>>> 26.8166942596436, 15.297459602356, 25.1733055114746, 23.5616931915283, >>>> 8.86995983123779, 13.5793552398682, 27.5732250213623, 22.1691932678223 >>>> ), value611 = c(14.5820417404175, 9.08279132843018, 17.8419170379639, >>>> 8.36016654968262, 16.5633754730225, 14.8123331069946, 1.32095837593079, >>>> 5.73408317565918, 18.9752082824707, 13.5729999542236), value612 >>>> c(9.12979793548584, >>>> 2.79943537712097, 11.6504030227661, 2.21584677696228, 10.5404834747314, >>>> 7.55471754074097, -5.58141136169434, -0.566209673881531, 12.3264112472534, >>>> 6.65576601028442)), .Names = c("value601", "value602", "value603", >>>> "value604", "value605", "value606", "value607", "value608", "value609", >>>> "value610", "value611", "value612"), row.names = c("1", "2", >>>> "3", "4", "5", "6", "7", "8", "9", "10"), class = "data.frame") >>>> >>>> [[alternative HTML version deleted]] >>>> >>>> ______________________________________________ >>>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >>>> https://stat.ethz.ch/mailman/listinfo/r-help >>>> PLEASE do read the posting guide http://www.R-project.org/posti >>>> ng-guide.html >>>> and provide commented, minimal, self-contained, reproducible code. >>>> >>>> >>> >>> >>> -- >>> Dan Dalthorp, PhD >>> USGS Forest and Rangeland Ecosystem Science Center >>> Forest Sciences Lab, Rm 189 >>> 3200 SW Jefferson Way >>> Corvallis, OR 97331 >>> ph: 541-750-0953 >>> ddalthorp at usgs.gov >>> >>> >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >> 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. > > David Winsemius > Alameda, CA, USA > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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.David Winsemius Alameda, CA, USA
Hi Milu, Perhaps this will help: apply(as.matrix(x[-1,seq(1:dim(x)[1],by=4)]),1,mean) Jim On Thu, Nov 10, 2016 at 4:00 AM, Miluji Sb <milujisb at gmail.com> wrote:> Thanks a lot for your quick reply. I made a mistake in the question, I > meant to ask every 4 (or 12) rows not columns. Apologies. Thanks again! > > Sincerely, > > Milu > > On Wed, Nov 9, 2016 at 5:45 PM, Dalthorp, Daniel <ddalthorp at usgs.gov> wrote: > >> Hi Milu, >> The following should work for an array x (provided dim(x)[2] is divisible >> by 4): >> >> colMeans(x[,0:(dim(x)[2]/4-1)*4+1]) >> >> -Dan >> >> On Wed, Nov 9, 2016 at 8:29 AM, Miluji Sb <milujisb at gmail.com> wrote: >> >>> Dear all, >>> >>> I have a dataset with hundreds of columns, I am only providing only 12 >>> columns. Is it possible to take the mean of every four (or 12) columns >>> (value601, value602, value603, value604 etc.in this case) and repeat for >>> the hundreds of columns? Thank you. >>> >>> Sincerely, >>> >>> Milu >>> >>> structure(list(value601 = c(10.1738710403442, 3.54112911224365, >>> 12.9192342758179, 3.17447590827942, 11.7332258224487, 7.68282270431519, >>> -7.11564493179321, 0.987620949745178, 13.0476207733154, 6.36939525604248 >>> ), value602 = c(13.0642414093018, 5.53129482269287, 16.0519638061523, >>> 2.88946437835693, 14.9204912185669, 9.42428588867188, -6.80674123764038, >>> -0.614241063594818, 16.7947769165039, 7.9541072845459), value603 >>> c(22.0399188995361, >>> 14.398024559021, 24.9523792266846, 12.0878629684448, 23.6459674835205, >>> 18.3277816772461, -2.54092741012573, 10.5550804138184, 25.1016540527344, >>> 16.2166938781738), value604 = c(27.7165412902832, 20.3255825042725, >>> 30.8430004119873, 16.6856250762939, 29.2485408782959, 24.3775005340576, >>> 6.47758340835571, 15.5897912979126, 30.7387924194336, 22.3637084960938 >>> ), value605 = c(31.6644763946533, 23.4093952178955, 35.1488723754883, >>> 19.7132263183594, 33.3924179077148, 29.5846366882324, 10.2083873748779, >>> 19.3551616668701, 35.3076629638672, 27.4299201965332), value606 >>> c(33.9698333740234, >>> 26.8574161529541, 36.8900833129883, 22.8604583740234, 34.8642921447754, >>> 33.8158760070801, 14.7055835723877, 22.1144580841064, 37.0545425415039, >>> 32.1087913513184), value607 = c(36.0279846191406, 26.9297180175781, >>> 38.2701225280762, 23.2643146514893, 36.7398796081543, 34.1216125488281, >>> 17.1387901306152, 24.0419750213623, 37.8542327880859, 32.7677421569824 >>> ), value608 = c(34.0242347717285, 25.7720966339111, 36.4897193908691, >>> 22.0332260131836, 34.8011703491211, 32.6856842041016, 16.6232261657715, >>> 21.5571365356445, 36.1491546630859, 31.1716938018799), value609 >>> c(27.5402088165283, >>> 21.7590408325195, 30.5214176177979, 18.4252090454102, 29.1156253814697, >>> 26.9878330230713, 12.4962501525879, 17.7259578704834, 30.9099159240723, >>> 25.4832077026367), value610 = c(23.4706859588623, 17.0126209259033, >>> 26.8166942596436, 15.297459602356, 25.1733055114746, 23.5616931915283, >>> 8.86995983123779, 13.5793552398682, 27.5732250213623, 22.1691932678223 >>> ), value611 = c(14.5820417404175, 9.08279132843018, 17.8419170379639, >>> 8.36016654968262, 16.5633754730225, 14.8123331069946, 1.32095837593079, >>> 5.73408317565918, 18.9752082824707, 13.5729999542236), value612 >>> c(9.12979793548584, >>> 2.79943537712097, 11.6504030227661, 2.21584677696228, 10.5404834747314, >>> 7.55471754074097, -5.58141136169434, -0.566209673881531, 12.3264112472534, >>> 6.65576601028442)), .Names = c("value601", "value602", "value603", >>> "value604", "value605", "value606", "value607", "value608", "value609", >>> "value610", "value611", "value612"), row.names = c("1", "2", >>> "3", "4", "5", "6", "7", "8", "9", "10"), class = "data.frame") >>> >>> [[alternative HTML version deleted]] >>> >>> ______________________________________________ >>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >>> https://stat.ethz.ch/mailman/listinfo/r-help >>> PLEASE do read the posting guide http://www.R-project.org/posti >>> ng-guide.html >>> and provide commented, minimal, self-contained, reproducible code. >>> >>> >> >> >> -- >> Dan Dalthorp, PhD >> USGS Forest and Rangeland Ecosystem Science Center >> Forest Sciences Lab, Rm 189 >> 3200 SW Jefferson Way >> Corvallis, OR 97331 >> ph: 541-750-0953 >> ddalthorp at usgs.gov >> >> > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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.
On 09.11.2016 22:06, Jim Lemon wrote:> Hi Milu, > Perhaps this will help: > > apply(as.matrix(x[-1,seq(1:dim(x)[1],by=4)]),1,mean)More efficient than apply(..., 1, mean): rowMeans() Best, Uwe Ligges> > Jim > > > On Thu, Nov 10, 2016 at 4:00 AM, Miluji Sb <milujisb at gmail.com> wrote: >> Thanks a lot for your quick reply. I made a mistake in the question, I >> meant to ask every 4 (or 12) rows not columns. Apologies. Thanks again! >> >> Sincerely, >> >> Milu >> >> On Wed, Nov 9, 2016 at 5:45 PM, Dalthorp, Daniel <ddalthorp at usgs.gov> wrote: >> >>> Hi Milu, >>> The following should work for an array x (provided dim(x)[2] is divisible >>> by 4): >>> >>> colMeans(x[,0:(dim(x)[2]/4-1)*4+1]) >>> >>> -Dan >>> >>> On Wed, Nov 9, 2016 at 8:29 AM, Miluji Sb <milujisb at gmail.com> wrote: >>> >>>> Dear all, >>>> >>>> I have a dataset with hundreds of columns, I am only providing only 12 >>>> columns. Is it possible to take the mean of every four (or 12) columns >>>> (value601, value602, value603, value604 etc.in this case) and repeat for >>>> the hundreds of columns? Thank you. >>>> >>>> Sincerely, >>>> >>>> Milu >>>> >>>> structure(list(value601 = c(10.1738710403442, 3.54112911224365, >>>> 12.9192342758179, 3.17447590827942, 11.7332258224487, 7.68282270431519, >>>> -7.11564493179321, 0.987620949745178, 13.0476207733154, 6.36939525604248 >>>> ), value602 = c(13.0642414093018, 5.53129482269287, 16.0519638061523, >>>> 2.88946437835693, 14.9204912185669, 9.42428588867188, -6.80674123764038, >>>> -0.614241063594818, 16.7947769165039, 7.9541072845459), value603 >>>> c(22.0399188995361, >>>> 14.398024559021, 24.9523792266846, 12.0878629684448, 23.6459674835205, >>>> 18.3277816772461, -2.54092741012573, 10.5550804138184, 25.1016540527344, >>>> 16.2166938781738), value604 = c(27.7165412902832, 20.3255825042725, >>>> 30.8430004119873, 16.6856250762939, 29.2485408782959, 24.3775005340576, >>>> 6.47758340835571, 15.5897912979126, 30.7387924194336, 22.3637084960938 >>>> ), value605 = c(31.6644763946533, 23.4093952178955, 35.1488723754883, >>>> 19.7132263183594, 33.3924179077148, 29.5846366882324, 10.2083873748779, >>>> 19.3551616668701, 35.3076629638672, 27.4299201965332), value606 >>>> c(33.9698333740234, >>>> 26.8574161529541, 36.8900833129883, 22.8604583740234, 34.8642921447754, >>>> 33.8158760070801, 14.7055835723877, 22.1144580841064, 37.0545425415039, >>>> 32.1087913513184), value607 = c(36.0279846191406, 26.9297180175781, >>>> 38.2701225280762, 23.2643146514893, 36.7398796081543, 34.1216125488281, >>>> 17.1387901306152, 24.0419750213623, 37.8542327880859, 32.7677421569824 >>>> ), value608 = c(34.0242347717285, 25.7720966339111, 36.4897193908691, >>>> 22.0332260131836, 34.8011703491211, 32.6856842041016, 16.6232261657715, >>>> 21.5571365356445, 36.1491546630859, 31.1716938018799), value609 >>>> c(27.5402088165283, >>>> 21.7590408325195, 30.5214176177979, 18.4252090454102, 29.1156253814697, >>>> 26.9878330230713, 12.4962501525879, 17.7259578704834, 30.9099159240723, >>>> 25.4832077026367), value610 = c(23.4706859588623, 17.0126209259033, >>>> 26.8166942596436, 15.297459602356, 25.1733055114746, 23.5616931915283, >>>> 8.86995983123779, 13.5793552398682, 27.5732250213623, 22.1691932678223 >>>> ), value611 = c(14.5820417404175, 9.08279132843018, 17.8419170379639, >>>> 8.36016654968262, 16.5633754730225, 14.8123331069946, 1.32095837593079, >>>> 5.73408317565918, 18.9752082824707, 13.5729999542236), value612 >>>> c(9.12979793548584, >>>> 2.79943537712097, 11.6504030227661, 2.21584677696228, 10.5404834747314, >>>> 7.55471754074097, -5.58141136169434, -0.566209673881531, 12.3264112472534, >>>> 6.65576601028442)), .Names = c("value601", "value602", "value603", >>>> "value604", "value605", "value606", "value607", "value608", "value609", >>>> "value610", "value611", "value612"), row.names = c("1", "2", >>>> "3", "4", "5", "6", "7", "8", "9", "10"), class = "data.frame") >>>> >>>> [[alternative HTML version deleted]] >>>> >>>> ______________________________________________ >>>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >>>> https://stat.ethz.ch/mailman/listinfo/r-help >>>> PLEASE do read the posting guide http://www.R-project.org/posti >>>> ng-guide.html >>>> and provide commented, minimal, self-contained, reproducible code. >>>> >>>> >>> >>> >>> -- >>> Dan Dalthorp, PhD >>> USGS Forest and Rangeland Ecosystem Science Center >>> Forest Sciences Lab, Rm 189 >>> 3200 SW Jefferson Way >>> Corvallis, OR 97331 >>> ph: 541-750-0953 >>> ddalthorp at usgs.gov >>> >>> >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >> 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. > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. >