[R] Odp: Removing rows with rowsums==0 (I can't figure this out)

Petr PIKAL petr.pikal at precheza.cz
Thu Nov 20 18:15:34 CET 2008


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", "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
> 
> ______________________________________________
> R-help at r-project.org 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