stephen sefick
2008-Nov-20 17:01 UTC
[R] Removing rows with rowsums==0 (I can't figure this out)
##I want to remove the rows where the row sums are zero and this is as far as I have gotten ffg <- (structure(list(CD = c(0, 0, 0, 0, 3.125, 0, 0, 0, 0, 1.6, 3.125, 0, 0, 6.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.5, 3.125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.125, 9.375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), GC = c(123.2, 93.75, 12.5, 0, 56.25, 184.375, 28.125, 109.375, 0, 779.2, 190.625, 59.375, 0, 1537.5, 2340.625, 1603.125, 481.25, 334.375, 0, 0, 9.375, 312.5, 109.375, 0, 1081.25, 1346.875, 553.125, 171.875, 78.125, 0, 0, 99.2, 221.875, 3.125, 0, 871.875, 1809.375, 606.25, 71.875, 37.5, 0, 0, 0, 20.8, 159.375, 59.375, 0, 84.375, 187.5, 84.375, 46.875, 37.5, 0, 0, 0, 9.6, 75, 3.125, 0, 159.375, 150, 46.875, 143.75, 343.75, 0, 0, 0, 120, 18.75, 6.25, 0, 181.25, 237.5, 28.125, 62.5, 128.125, 0, 0, 0, 78.4, 0, 3.125, 3.125, 12.5, 6.25, 18.75, 0, 25, 103.125, 68.75, 46.875, 0, 290.625, 225, 84.375, 62.5, 137.5, 0, 0, 0, 252.8, 28.125, 9.375, 0, 796.875, 225, 37.5, 3.125, 431.25, 0, 0, 0, 12.5, 21.875, 6.25, 0, 37.5, 296.875, 56.25, 65.625, 65.625, 0, 0, 0, 25, 103.125, 0, 184.375, 346.875, 240.625, 46.875, 246.875 ), GF = c(118.4, 43.75, 9.375, 0, 9.375, 12.5, 9.375, 43.75, 0, 190.4, 56.25, 18.75, 0, 31.25, 134.375, 325, 93.75, 25, 0, 0, 0, 0, 0, 0, 2278.125, 1115.625, 1834.375, 762.5, 15.625, 0, 0, 33.6, 31.25, 0, 0, 25, 543.75, 225, 3.125, 18.75, 0, 0, 0, 17.6, 3.125, 3.125, 0, 0, 21.875, 0, 0, 3.125, 0, 0, 0, 0, 0, 0, 0, 9.375, 0, 0, 6.25, 21.875, 0, 0, 0, 6.4, 0, 0, 0, 21.875, 12.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62.5, 412.5, 15.625, 0, 87.5, 100, 6.25, 6.25, 0, 0, 0, 0, 14.4, 3.125, 0, 0, 90.625, 6.25, 0, 0, 506.25, 0, 0, 0, 25, 25, 0, 0, 0, 59.375, 18.75, 31.25, 6.25, 0, 0, 0, 3.125, 0, 0, 37.5, 3.125, 6.25, 0, 25), P = c(0, 0, 0, 0, 0, 0, 3.125, 0, 0, 3.2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19.2, 0, 0, 0, 0, 0, 6.25, 0, 0, 0, 0, 0, 6.4, 0, 0, 0, 6.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.125, 0, 0, 0, 0, 0, 3.125, 0, 0, 0, 0, 0, 3.125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9.375, 0), PR = c(27.2, 15.625, 18.75, 0, 21.875, 62.5, 78.125, 25, 0, 92.8, 6.25, 9.375, 0, 68.75, 78.125, 100, 37.5, 106.25, 0, 0, 31.25, 21.875, 0, 0, 150, 268.75, 534.375, 31.25, 3.125, 0, 0, 43.2, 9.375, 0, 0, 21.875, 128.125, 87.5, 12.5, 3.125, 0, 0, 0, 16, 12.5, 3.125, 0, 59.375, 65.625, 37.5, 6.25, 3.125, 0, 0, 0, 12.8, 6.25, 0, 6.25, 28.125, 21.875, 9.375, 6.25, 28.125, 0, 0, 0, 16, 15.625, 3.125, 0, 43.75, 75, 6.25, 12.5, 18.75, 0, 0, 0, 1.6, 0, 0, 0, 3.125, 0, 0, 9.375, 0, 37.5, 25, 6.25, 0, 28.125, 118.75, 53.125, 68.75, 40.625, 0, 0, 0, 72, 0, 0, 0, 218.75, 71.875, 115.625, 9.375, 43.75, 0, 0, 0, 25, 3.125, 18.75, 6.25, 34.375, 84.375, 31.25, 3.125, 15.625, 0, 0, 0, 12.5, 3.125, 0, 53.125, 150, 56.25, 0, 6.25), SC = c(105.6, 93.75, 200, 0, 256.25, 112.5, 31.25, 90.625, 0, 81.6, 68.75, 153.125, 0, 103.125, 150, 71.875, 134.375, 165.625, 0, 0, 50, 65.625, 6.25, 0, 6.25, 28.125, 6.25, 0, 3.125, 0, 0, 40, 0, 0, 0, 15.625, 31.25, 40.625, 21.875, 0, 0, 0, 0, 11.2, 0, 0, 0, 40.625, 15.625, 3.125, 3.125, 6.25, 0, 0, 0, 6.4, 15.625, 6.25, 0, 12.5, 50, 18.75, 0, 0, 0, 0, 0, 22.4, 6.25, 18.75, 0, 43.75, 81.25, 25, 6.25, 0, 0, 0, 0, 4.8, 0, 3.125, 0, 0, 0, 3.125, 0, 0, 56.25, 434.375, 53.125, 0, 65.625, 84.375, 87.5, 106.25, 218.75, 0, 0, 0, 1.6, 3.125, 0, 0, 0, 0, 6.25, 0, 3.125, 0, 0, 0, 56.25, 81.25, 128.125, 0, 62.5, 62.5, 6.25, 9.375, 96.875, 0, 0, 0, 0, 0, 0, 9.375, 12.5, 3.125, 0, 9.375), SH = c(25.6, 15.625, 3.125, 0, 12.5, 21.875, 15.625, 100, 0, 94.4, 28.125, 6.25, 0, 43.75, 43.75, 150, 25, 50, 0, 0, 6.25, 6.25, 190.625, 0, 34.375, 184.375, 731.25, 259.375, 250, 0, 0, 67.2, 528.125, 6.25, 0, 106.25, 890.625, 475, 6.25, 34.375, 0, 0, 0, 19.2, 134.375, 31.25, 0, 137.5, 171.875, 12.5, 46.875, 62.5, 0, 0, 0, 30.4, 71.875, 6.25, 12.5, 75, 206.25, 46.875, 15.625, 153.125, 0, 0, 0, 78.4, 12.5, 115.625, 21.875, 131.25, 259.375, 6.25, 15.625, 75, 0, 0, 0, 43.2, 21.875, 28.125, 3.125, 3.125, 131.25, 212.5, 131.25, 87.5, 37.5, 37.5, 0, 0, 153.125, 56.25, 28.125, 150, 3.125, 0, 0, 0, 92.8, 62.5, 18.75, 37.5, 53.125, 128.125, 231.25, 50, 140.625, 0, 0, 0, 0, 0, 3.125, 12.5, 9.375, 18.75, 18.75, 3.125, 3.125, 0, 0, 0, 6.25, 0, 15.625, 21.875, 31.25, 15.625, 28.125, 15.625 )), .Names = c("CD", "GC", "GF", "P", "PR", "SC", "SH"), class = c("cast_df", "data.frame"), row.names = c("119 2006/10", "119 2006/12", "119 2007/02", "119 2007/04", "119 2007/06", "119 2007/08", "119 2007/10", "119 2008/01", "148 2006/05", "148 2006/10", "148 2006/12", "148 2007/02", "148 2007/04", "148 2007/06", "148 2007/08", "148 2007/10", "148 2007/12", "148 2008/01", "179 2006/04", "179 2006/05", "179 2006/10", "179 2006/12", "179 2007/02", "179 2007/04", "179 2007/06", "179 2007/08", "179 2007/10", "179 2007/12", "179 2008/01", "185 2006/04", "185 2006/07", "185 2006/10", "185 2006/12", "185 2007/02", "185 2007/04", "185 2007/06", "185 2007/08", "185 2007/10", "185 2007/12", "185 2008/01", "190 2006/04", "190 2006/05", "190 2006/07", "190 2006/10", "190 2006/12", "190 2007/02", "190 2007/04", "190 2007/06", "190 2007/08", "190 2007/10", "190 2007/12", "190 2008/01", "198 2006/04", "198 2006/05", "198 2006/07", "198 2006/10", "198 2006/12", "198 2007/02", "198 2007/04", "198 2007/06", "198 2007/08", "198 2007/10", "198 2007/12", "198 2008/01", "202 2006/04", "202 2006/05", "202 2006/07", "202 2006/10", "202 2006/12", "202 2007/02", "202 2007/04", "202 2007/06", "202 2007/08", "202 2007/10", "202 2007/12", "202 2008/01", "215 2006/04", "215 2006/05", "215 2006/07", "215 2006/10", "215 2006/12", "215 2007/02", "215 2007/04", "215 2007/06", "215 2007/08", "215 2007/10", "215 2007/12", "215 2008/01", "61 2006/10", "61 2006/12", "61 2007/02", "61 2007/04", "61 2007/06", "61 2007/08", "61 2007/10", "61 2007/12", "61 2008/01", "BC 2006/04", "BC 2006/05", "BC 2006/07", "BC 2006/10", "BC 2006/12", "BC 2007/02", "BC 2007/04", "BC 2007/06", "BC 2007/08", "BC 2007/10", "BC 2007/12", "BC 2008/01", "HC 2006/04", "HC 2006/05", "HC 2006/07", "HC 2006/10", "HC 2006/12", "HC 2007/02", "HC 2007/04", "HC 2007/06", "HC 2007/08", "HC 2007/10", "HC 2007/12", "HC 2008/01", "SC 2006/04", "SC 2006/05", "SC 2006/07", "SC 2006/12", "SC 2007/02", "SC 2007/04", "SC 2007/06", "SC 2007/08", "SC 2007/10", "SC 2007/12", "SC 2008/01"))) #this is what I have tried subset(ffg, rownames(ffg)!=rownames(ffg[apply(ffg, MARGIN=1, sum)==0,])) Thanks in advance -- Stephen Sefick Research Scientist Southeastern Natural Sciences Academy Let's not spend our time and resources thinking about things that are so little or so large that all they really do for us is puff us up and make us feel like gods. We are mammals, and have not exhausted the annoying little problems of being mammals. -K. Mullis
Gavin Simpson
2008-Nov-20 17:08 UTC
[R] Removing rows with rowsums==0 (I can't figure this out)
On Thu, 2008-11-20 at 12:01 -0500, stephen sefick wrote:> ##I want to remove the rows where the row sums are zero and this is as > far as I have gottenGiven your ffg, ## the which() call returns row indices for rows with rowSum > 0 ffg[which(rowSums(ffg) > 0, ] does the trick HTH G> > ffg <- (structure(list(CD = c(0, 0, 0, 0, 3.125, 0, 0, 0, 0, 1.6, 3.125, > 0, 0, 6.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.125, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.6, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 1.6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 3.125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 12.5, 3.125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.125, 9.375, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0), GC = c(123.2, 93.75, 12.5, 0, 56.25, > 184.375, 28.125, 109.375, 0, 779.2, 190.625, 59.375, 0, 1537.5, > 2340.625, 1603.125, 481.25, 334.375, 0, 0, 9.375, 312.5, 109.375, > 0, 1081.25, 1346.875, 553.125, 171.875, 78.125, 0, 0, 99.2, 221.875, > 3.125, 0, 871.875, 1809.375, 606.25, 71.875, 37.5, 0, 0, 0, 20.8, > 159.375, 59.375, 0, 84.375, 187.5, 84.375, 46.875, 37.5, 0, 0, > 0, 9.6, 75, 3.125, 0, 159.375, 150, 46.875, 143.75, 343.75, 0, > 0, 0, 120, 18.75, 6.25, 0, 181.25, 237.5, 28.125, 62.5, 128.125, > 0, 0, 0, 78.4, 0, 3.125, 3.125, 12.5, 6.25, 18.75, 0, 25, 103.125, > 68.75, 46.875, 0, 290.625, 225, 84.375, 62.5, 137.5, 0, 0, 0, > 252.8, 28.125, 9.375, 0, 796.875, 225, 37.5, 3.125, 431.25, 0, > 0, 0, 12.5, 21.875, 6.25, 0, 37.5, 296.875, 56.25, 65.625, 65.625, > 0, 0, 0, 25, 103.125, 0, 184.375, 346.875, 240.625, 46.875, 246.875 > ), GF = c(118.4, 43.75, 9.375, 0, 9.375, 12.5, 9.375, 43.75, > 0, 190.4, 56.25, 18.75, 0, 31.25, 134.375, 325, 93.75, 25, 0, > 0, 0, 0, 0, 0, 2278.125, 1115.625, 1834.375, 762.5, 15.625, 0, > 0, 33.6, 31.25, 0, 0, 25, 543.75, 225, 3.125, 18.75, 0, 0, 0, > 17.6, 3.125, 3.125, 0, 0, 21.875, 0, 0, 3.125, 0, 0, 0, 0, 0, > 0, 0, 9.375, 0, 0, 6.25, 21.875, 0, 0, 0, 6.4, 0, 0, 0, 21.875, > 12.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62.5, 412.5, > 15.625, 0, 87.5, 100, 6.25, 6.25, 0, 0, 0, 0, 14.4, 3.125, 0, > 0, 90.625, 6.25, 0, 0, 506.25, 0, 0, 0, 25, 25, 0, 0, 0, 59.375, > 18.75, 31.25, 6.25, 0, 0, 0, 3.125, 0, 0, 37.5, 3.125, 6.25, > 0, 25), P = c(0, 0, 0, 0, 0, 0, 3.125, 0, 0, 3.2, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 12.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19.2, 0, > 0, 0, 0, 0, 6.25, 0, 0, 0, 0, 0, 6.4, 0, 0, 0, 6.25, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.125, 0, 0, 0, 0, 0, 3.125, > 0, 0, 0, 0, 0, 3.125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 9.375, 0), PR = c(27.2, 15.625, 18.75, 0, 21.875, 62.5, 78.125, > 25, 0, 92.8, 6.25, 9.375, 0, 68.75, 78.125, 100, 37.5, 106.25, > 0, 0, 31.25, 21.875, 0, 0, 150, 268.75, 534.375, 31.25, 3.125, > 0, 0, 43.2, 9.375, 0, 0, 21.875, 128.125, 87.5, 12.5, 3.125, > 0, 0, 0, 16, 12.5, 3.125, 0, 59.375, 65.625, 37.5, 6.25, 3.125, > 0, 0, 0, 12.8, 6.25, 0, 6.25, 28.125, 21.875, 9.375, 6.25, 28.125, > 0, 0, 0, 16, 15.625, 3.125, 0, 43.75, 75, 6.25, 12.5, 18.75, > 0, 0, 0, 1.6, 0, 0, 0, 3.125, 0, 0, 9.375, 0, 37.5, 25, 6.25, > 0, 28.125, 118.75, 53.125, 68.75, 40.625, 0, 0, 0, 72, 0, 0, > 0, 218.75, 71.875, 115.625, 9.375, 43.75, 0, 0, 0, 25, 3.125, > 18.75, 6.25, 34.375, 84.375, 31.25, 3.125, 15.625, 0, 0, 0, 12.5, > 3.125, 0, 53.125, 150, 56.25, 0, 6.25), SC = c(105.6, 93.75, > 200, 0, 256.25, 112.5, 31.25, 90.625, 0, 81.6, 68.75, 153.125, > 0, 103.125, 150, 71.875, 134.375, 165.625, 0, 0, 50, 65.625, > 6.25, 0, 6.25, 28.125, 6.25, 0, 3.125, 0, 0, 40, 0, 0, 0, 15.625, > 31.25, 40.625, 21.875, 0, 0, 0, 0, 11.2, 0, 0, 0, 40.625, 15.625, > 3.125, 3.125, 6.25, 0, 0, 0, 6.4, 15.625, 6.25, 0, 12.5, 50, > 18.75, 0, 0, 0, 0, 0, 22.4, 6.25, 18.75, 0, 43.75, 81.25, 25, > 6.25, 0, 0, 0, 0, 4.8, 0, 3.125, 0, 0, 0, 3.125, 0, 0, 56.25, > 434.375, 53.125, 0, 65.625, 84.375, 87.5, 106.25, 218.75, 0, > 0, 0, 1.6, 3.125, 0, 0, 0, 0, 6.25, 0, 3.125, 0, 0, 0, 56.25, > 81.25, 128.125, 0, 62.5, 62.5, 6.25, 9.375, 96.875, 0, 0, 0, > 0, 0, 0, 9.375, 12.5, 3.125, 0, 9.375), SH = c(25.6, 15.625, > 3.125, 0, 12.5, 21.875, 15.625, 100, 0, 94.4, 28.125, 6.25, 0, > 43.75, 43.75, 150, 25, 50, 0, 0, 6.25, 6.25, 190.625, 0, 34.375, > 184.375, 731.25, 259.375, 250, 0, 0, 67.2, 528.125, 6.25, 0, > 106.25, 890.625, 475, 6.25, 34.375, 0, 0, 0, 19.2, 134.375, 31.25, > 0, 137.5, 171.875, 12.5, 46.875, 62.5, 0, 0, 0, 30.4, 71.875, > 6.25, 12.5, 75, 206.25, 46.875, 15.625, 153.125, 0, 0, 0, 78.4, > 12.5, 115.625, 21.875, 131.25, 259.375, 6.25, 15.625, 75, 0, > 0, 0, 43.2, 21.875, 28.125, 3.125, 3.125, 131.25, 212.5, 131.25, > 87.5, 37.5, 37.5, 0, 0, 153.125, 56.25, 28.125, 150, 3.125, 0, > 0, 0, 92.8, 62.5, 18.75, 37.5, 53.125, 128.125, 231.25, 50, 140.625, > 0, 0, 0, 0, 0, 3.125, 12.5, 9.375, 18.75, 18.75, 3.125, 3.125, > 0, 0, 0, 6.25, 0, 15.625, 21.875, 31.25, 15.625, 28.125, 15.625 > )), .Names = c("CD", "GC", "GF", "P", "PR", "SC", "SH"), class = c("cast_df", > "data.frame"), row.names = c("119 2006/10", "119 2006/12", "119 2007/02", > "119 2007/04", "119 2007/06", "119 2007/08", "119 2007/10", "119 2008/01", > "148 2006/05", "148 2006/10", "148 2006/12", "148 2007/02", "148 2007/04", > "148 2007/06", "148 2007/08", "148 2007/10", "148 2007/12", "148 2008/01", > "179 2006/04", "179 2006/05", "179 2006/10", "179 2006/12", "179 2007/02", > "179 2007/04", "179 2007/06", "179 2007/08", "179 2007/10", "179 2007/12", > "179 2008/01", "185 2006/04", "185 2006/07", "185 2006/10", "185 2006/12", > "185 2007/02", "185 2007/04", "185 2007/06", "185 2007/08", "185 2007/10", > "185 2007/12", "185 2008/01", "190 2006/04", "190 2006/05", "190 2006/07", > "190 2006/10", "190 2006/12", "190 2007/02", "190 2007/04", "190 2007/06", > "190 2007/08", "190 2007/10", "190 2007/12", "190 2008/01", "198 2006/04", > "198 2006/05", "198 2006/07", "198 2006/10", "198 2006/12", "198 2007/02", > "198 2007/04", "198 2007/06", "198 2007/08", "198 2007/10", "198 2007/12", > "198 2008/01", "202 2006/04", "202 2006/05", "202 2006/07", "202 2006/10", > "202 2006/12", "202 2007/02", "202 2007/04", "202 2007/06", "202 2007/08", > "202 2007/10", "202 2007/12", "202 2008/01", "215 2006/04", "215 2006/05", > "215 2006/07", "215 2006/10", "215 2006/12", "215 2007/02", "215 2007/04", > "215 2007/06", "215 2007/08", "215 2007/10", "215 2007/12", "215 2008/01", > "61 2006/10", "61 2006/12", "61 2007/02", "61 2007/04", "61 2007/06", > "61 2007/08", "61 2007/10", "61 2007/12", "61 2008/01", "BC 2006/04", > "BC 2006/05", "BC 2006/07", "BC 2006/10", "BC 2006/12", "BC 2007/02", > "BC 2007/04", "BC 2007/06", "BC 2007/08", "BC 2007/10", "BC 2007/12", > "BC 2008/01", "HC 2006/04", "HC 2006/05", "HC 2006/07", "HC 2006/10", > "HC 2006/12", "HC 2007/02", "HC 2007/04", "HC 2007/06", "HC 2007/08", > "HC 2007/10", "HC 2007/12", "HC 2008/01", "SC 2006/04", "SC 2006/05", > "SC 2006/07", "SC 2006/12", "SC 2007/02", "SC 2007/04", "SC 2007/06", > "SC 2007/08", "SC 2007/10", "SC 2007/12", "SC 2008/01"))) > > #this is what I have tried > subset(ffg, rownames(ffg)!=rownames(ffg[apply(ffg, MARGIN=1, sum)==0,])) > > Thanks in advance-- %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~% Dr. Gavin Simpson [t] +44 (0)20 7679 0522 ECRC, UCL Geography, [f] +44 (0)20 7679 0565 Pearson Building, [e] gavin.simpsonATNOSPAMucl.ac.uk Gower Street, London [w] http://www.ucl.ac.uk/~ucfagls/ UK. WC1E 6BT. [w] http://www.freshwaters.org.uk %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
Petr PIKAL
2008-Nov-20 17:15 UTC
[R] Odp: Removing rows with rowsums==0 (I can't figure this out)
Hi something like ffg[!rowSums(ffg)==0,] Petr Pikal petr.pikal at precheza.cz 724008364, 581252140, 581252257 r-help-bounces at r-project.org napsal dne 20.11.2008 18:01:28:> ##I want to remove the rows where the row sums are zero and this is as > far as I have gotten > > ffg <- (structure(list(CD = c(0, 0, 0, 0, 3.125, 0, 0, 0, 0, 1.6, 3.125, > 0, 0, 6.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.125, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.6, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 1.6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 3.125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 12.5, 3.125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.125, 9.375, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0), GC = c(123.2, 93.75, 12.5, 0, 56.25, > 184.375, 28.125, 109.375, 0, 779.2, 190.625, 59.375, 0, 1537.5, > 2340.625, 1603.125, 481.25, 334.375, 0, 0, 9.375, 312.5, 109.375, > 0, 1081.25, 1346.875, 553.125, 171.875, 78.125, 0, 0, 99.2, 221.875, > 3.125, 0, 871.875, 1809.375, 606.25, 71.875, 37.5, 0, 0, 0, 20.8, > 159.375, 59.375, 0, 84.375, 187.5, 84.375, 46.875, 37.5, 0, 0, > 0, 9.6, 75, 3.125, 0, 159.375, 150, 46.875, 143.75, 343.75, 0, > 0, 0, 120, 18.75, 6.25, 0, 181.25, 237.5, 28.125, 62.5, 128.125, > 0, 0, 0, 78.4, 0, 3.125, 3.125, 12.5, 6.25, 18.75, 0, 25, 103.125, > 68.75, 46.875, 0, 290.625, 225, 84.375, 62.5, 137.5, 0, 0, 0, > 252.8, 28.125, 9.375, 0, 796.875, 225, 37.5, 3.125, 431.25, 0, > 0, 0, 12.5, 21.875, 6.25, 0, 37.5, 296.875, 56.25, 65.625, 65.625, > 0, 0, 0, 25, 103.125, 0, 184.375, 346.875, 240.625, 46.875, 246.875 > ), GF = c(118.4, 43.75, 9.375, 0, 9.375, 12.5, 9.375, 43.75, > 0, 190.4, 56.25, 18.75, 0, 31.25, 134.375, 325, 93.75, 25, 0, > 0, 0, 0, 0, 0, 2278.125, 1115.625, 1834.375, 762.5, 15.625, 0, > 0, 33.6, 31.25, 0, 0, 25, 543.75, 225, 3.125, 18.75, 0, 0, 0, > 17.6, 3.125, 3.125, 0, 0, 21.875, 0, 0, 3.125, 0, 0, 0, 0, 0, > 0, 0, 9.375, 0, 0, 6.25, 21.875, 0, 0, 0, 6.4, 0, 0, 0, 21.875, > 12.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62.5, 412.5, > 15.625, 0, 87.5, 100, 6.25, 6.25, 0, 0, 0, 0, 14.4, 3.125, 0, > 0, 90.625, 6.25, 0, 0, 506.25, 0, 0, 0, 25, 25, 0, 0, 0, 59.375, > 18.75, 31.25, 6.25, 0, 0, 0, 3.125, 0, 0, 37.5, 3.125, 6.25, > 0, 25), P = c(0, 0, 0, 0, 0, 0, 3.125, 0, 0, 3.2, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 12.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19.2, 0, > 0, 0, 0, 0, 6.25, 0, 0, 0, 0, 0, 6.4, 0, 0, 0, 6.25, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.125, 0, 0, 0, 0, 0, 3.125, > 0, 0, 0, 0, 0, 3.125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 9.375, 0), PR = c(27.2, 15.625, 18.75, 0, 21.875, 62.5, 78.125, > 25, 0, 92.8, 6.25, 9.375, 0, 68.75, 78.125, 100, 37.5, 106.25, > 0, 0, 31.25, 21.875, 0, 0, 150, 268.75, 534.375, 31.25, 3.125, > 0, 0, 43.2, 9.375, 0, 0, 21.875, 128.125, 87.5, 12.5, 3.125, > 0, 0, 0, 16, 12.5, 3.125, 0, 59.375, 65.625, 37.5, 6.25, 3.125, > 0, 0, 0, 12.8, 6.25, 0, 6.25, 28.125, 21.875, 9.375, 6.25, 28.125, > 0, 0, 0, 16, 15.625, 3.125, 0, 43.75, 75, 6.25, 12.5, 18.75, > 0, 0, 0, 1.6, 0, 0, 0, 3.125, 0, 0, 9.375, 0, 37.5, 25, 6.25, > 0, 28.125, 118.75, 53.125, 68.75, 40.625, 0, 0, 0, 72, 0, 0, > 0, 218.75, 71.875, 115.625, 9.375, 43.75, 0, 0, 0, 25, 3.125, > 18.75, 6.25, 34.375, 84.375, 31.25, 3.125, 15.625, 0, 0, 0, 12.5, > 3.125, 0, 53.125, 150, 56.25, 0, 6.25), SC = c(105.6, 93.75, > 200, 0, 256.25, 112.5, 31.25, 90.625, 0, 81.6, 68.75, 153.125, > 0, 103.125, 150, 71.875, 134.375, 165.625, 0, 0, 50, 65.625, > 6.25, 0, 6.25, 28.125, 6.25, 0, 3.125, 0, 0, 40, 0, 0, 0, 15.625, > 31.25, 40.625, 21.875, 0, 0, 0, 0, 11.2, 0, 0, 0, 40.625, 15.625, > 3.125, 3.125, 6.25, 0, 0, 0, 6.4, 15.625, 6.25, 0, 12.5, 50, > 18.75, 0, 0, 0, 0, 0, 22.4, 6.25, 18.75, 0, 43.75, 81.25, 25, > 6.25, 0, 0, 0, 0, 4.8, 0, 3.125, 0, 0, 0, 3.125, 0, 0, 56.25, > 434.375, 53.125, 0, 65.625, 84.375, 87.5, 106.25, 218.75, 0, > 0, 0, 1.6, 3.125, 0, 0, 0, 0, 6.25, 0, 3.125, 0, 0, 0, 56.25, > 81.25, 128.125, 0, 62.5, 62.5, 6.25, 9.375, 96.875, 0, 0, 0, > 0, 0, 0, 9.375, 12.5, 3.125, 0, 9.375), SH = c(25.6, 15.625, > 3.125, 0, 12.5, 21.875, 15.625, 100, 0, 94.4, 28.125, 6.25, 0, > 43.75, 43.75, 150, 25, 50, 0, 0, 6.25, 6.25, 190.625, 0, 34.375, > 184.375, 731.25, 259.375, 250, 0, 0, 67.2, 528.125, 6.25, 0, > 106.25, 890.625, 475, 6.25, 34.375, 0, 0, 0, 19.2, 134.375, 31.25, > 0, 137.5, 171.875, 12.5, 46.875, 62.5, 0, 0, 0, 30.4, 71.875, > 6.25, 12.5, 75, 206.25, 46.875, 15.625, 153.125, 0, 0, 0, 78.4, > 12.5, 115.625, 21.875, 131.25, 259.375, 6.25, 15.625, 75, 0, > 0, 0, 43.2, 21.875, 28.125, 3.125, 3.125, 131.25, 212.5, 131.25, > 87.5, 37.5, 37.5, 0, 0, 153.125, 56.25, 28.125, 150, 3.125, 0, > 0, 0, 92.8, 62.5, 18.75, 37.5, 53.125, 128.125, 231.25, 50, 140.625, > 0, 0, 0, 0, 0, 3.125, 12.5, 9.375, 18.75, 18.75, 3.125, 3.125, > 0, 0, 0, 6.25, 0, 15.625, 21.875, 31.25, 15.625, 28.125, 15.625 > )), .Names = c("CD", "GC", "GF", "P", "PR", "SC", "SH"), class =c("cast_df",> "data.frame"), row.names = c("119 2006/10", "119 2006/12", "1192007/02",> "119 2007/04", "119 2007/06", "119 2007/08", "119 2007/10", "1192008/01",> "148 2006/05", "148 2006/10", "148 2006/12", "148 2007/02", "1482007/04",> "148 2007/06", "148 2007/08", "148 2007/10", "148 2007/12", "1482008/01",> "179 2006/04", "179 2006/05", "179 2006/10", "179 2006/12", "1792007/02",> "179 2007/04", "179 2007/06", "179 2007/08", "179 2007/10", "1792007/12",> "179 2008/01", "185 2006/04", "185 2006/07", "185 2006/10", "1852006/12",> "185 2007/02", "185 2007/04", "185 2007/06", "185 2007/08", "1852007/10",> "185 2007/12", "185 2008/01", "190 2006/04", "190 2006/05", "1902006/07",> "190 2006/10", "190 2006/12", "190 2007/02", "190 2007/04", "1902007/06",> "190 2007/08", "190 2007/10", "190 2007/12", "190 2008/01", "1982006/04",> "198 2006/05", "198 2006/07", "198 2006/10", "198 2006/12", "1982007/02",> "198 2007/04", "198 2007/06", "198 2007/08", "198 2007/10", "1982007/12",> "198 2008/01", "202 2006/04", "202 2006/05", "202 2006/07", "2022006/10",> "202 2006/12", "202 2007/02", "202 2007/04", "202 2007/06", "2022007/08",> "202 2007/10", "202 2007/12", "202 2008/01", "215 2006/04", "2152006/05",> "215 2006/07", "215 2006/10", "215 2006/12", "215 2007/02", "2152007/04",> "215 2007/06", "215 2007/08", "215 2007/10", "215 2007/12", "2152008/01",> "61 2006/10", "61 2006/12", "61 2007/02", "61 2007/04", "61 2007/06", > "61 2007/08", "61 2007/10", "61 2007/12", "61 2008/01", "BC 2006/04", > "BC 2006/05", "BC 2006/07", "BC 2006/10", "BC 2006/12", "BC 2007/02", > "BC 2007/04", "BC 2007/06", "BC 2007/08", "BC 2007/10", "BC 2007/12", > "BC 2008/01", "HC 2006/04", "HC 2006/05", "HC 2006/07", "HC 2006/10", > "HC 2006/12", "HC 2007/02", "HC 2007/04", "HC 2007/06", "HC 2007/08", > "HC 2007/10", "HC 2007/12", "HC 2008/01", "SC 2006/04", "SC 2006/05", > "SC 2006/07", "SC 2006/12", "SC 2007/02", "SC 2007/04", "SC 2007/06", > "SC 2007/08", "SC 2007/10", "SC 2007/12", "SC 2008/01"))) > > #this is what I have tried > subset(ffg, rownames(ffg)!=rownames(ffg[apply(ffg, MARGIN=1, sum)==0,])) > > Thanks in advance > -- > Stephen Sefick > Research Scientist > Southeastern Natural Sciences Academy > > Let's not spend our time and resources thinking about things that are > so little or so large that all they really do for us is puff us up and > make us feel like gods. We are mammals, and have not exhausted the > annoying little problems of being mammals. > > -K. Mullis > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guidehttp://www.R-project.org/posting-guide.html> and provide commented, minimal, self-contained, reproducible code.