Hi Dawn, Your data are a bit messed up, but try the following: colSums(dat[,grep("ABC",names(dat),fixed=TRUE)],na.rm=TRUE) colSums(dat[,grep("XYZ",names(dat),fixed=TRUE)],na.rm=TRUE) I'm assuming that you want to discard the NA values. Jim On Fri, Jul 10, 2015 at 6:52 AM, Rui Barradas <ruipbarradas at sapo.pt> wrote:> Hello, > > Please use ?dput to give a data example, like this it's completely > unreadable. If your data.frame is named 'dat' use > > dput(head(dat, 30)) # paste the outut of this in your mail > > > And don't post in html, use plain text only, like the posting guide says. > > Rui Barradas > > > Em 09-07-2015 18:12, Dawn escreveu: >> >> Hi, >> >> I have a big dataframe as follows >> >> 109ABC 109XYZ 18ABC 18XYZ 22XYZ 23ABC 25ABC >> 25XYZ >> 30ABC 31XYZ 32ABC 32XYZ 34DCM 34XYZ 36ABC 36SUR >> 38DCM 38XYZ 39DCM 39SUR 41DCM 41SUR 42DCM 42SUR >> 46SUR 52DCM 64ABC 64XYZ 65ABC 65XYZ 66ABC 66XYZ >> 67XYZ 68ABC 68SUR 70MES 70SUR 72ABC 72XYZ 76ABC >> 76XYZ 82ABC 85ABC POV >> Cluster_1 17 1 >> 3 10 14 5 2 2 1 1 1 2 >> 2 TT:61 >> Cluster_2 1 4 20 >> 6 5 3 6 9 9 6 10 1 3 1 >> 4 TT:88 >> Cluster_3 3 3 6 4 17 >> 17 18 13 17 19 22 11 5 21 8 5 18 4 >> 7 9 >> TT:227 >> ........ >> >> I want to get two columns, i.e, one is to sum columns for all including >> ABC for each row and the other is to sum columns for all including XYZ >> for >> each row. >> >> Is there some help? Thank you! >> Dawn >> >> [[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.
Thank you all and sorry for the data messing. It has worked! Best, Dawn On Fri, Jul 10, 2015 at 4:15 AM, Jim Lemon <drjimlemon at gmail.com> wrote:> Hi Dawn, > Your data are a bit messed up, but try the following: > > colSums(dat[,grep("ABC",names(dat),fixed=TRUE)],na.rm=TRUE) > colSums(dat[,grep("XYZ",names(dat),fixed=TRUE)],na.rm=TRUE) > > I'm assuming that you want to discard the NA values. > > Jim > > On Fri, Jul 10, 2015 at 6:52 AM, Rui Barradas <ruipbarradas at sapo.pt> > wrote: > > Hello, > > > > Please use ?dput to give a data example, like this it's completely > > unreadable. If your data.frame is named 'dat' use > > > > dput(head(dat, 30)) # paste the outut of this in your mail > > > > > > And don't post in html, use plain text only, like the posting guide says. > > > > Rui Barradas > > > > > > Em 09-07-2015 18:12, Dawn escreveu: > >> > >> Hi, > >> > >> I have a big dataframe as follows > >> > >> 109ABC 109XYZ 18ABC 18XYZ 22XYZ 23ABC 25ABC > >> 25XYZ > >> 30ABC 31XYZ 32ABC 32XYZ 34DCM 34XYZ 36ABC 36SUR > >> 38DCM 38XYZ 39DCM 39SUR 41DCM 41SUR 42DCM 42SUR > >> 46SUR 52DCM 64ABC 64XYZ 65ABC 65XYZ 66ABC 66XYZ > >> 67XYZ 68ABC 68SUR 70MES 70SUR 72ABC 72XYZ 76ABC > >> 76XYZ 82ABC 85ABC POV > >> Cluster_1 17 1 > >> 3 10 14 5 2 2 1 1 1 2 > >> 2 TT:61 > >> Cluster_2 1 4 20 > >> 6 5 3 6 9 9 6 10 1 3 1 > >> 4 TT:88 > >> Cluster_3 3 3 6 4 17 > >> 17 18 13 17 19 22 11 5 21 8 5 18 4 > >> 7 9 > >> TT:227 > >> ........ > >> > >> I want to get two columns, i.e, one is to sum columns for all including > >> ABC for each row and the other is to sum columns for all including XYZ > >> for > >> each row. > >> > >> Is there some help? Thank you! > >> Dawn > >> > >> [[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. >[[alternative HTML version deleted]]
Hi, I used a small set of data (several columns and rows) and it works fine using the following command: abc <- rowSums(test[,grep("ABC",names(test),fixed=T)],na.rm=T) But when I used the real big data table, "Error in rowSums(dat[, grep("ABC", names(dat), fixed = T)], na.rm = T) : 'x' must be numeric" Then it didn't work either using as.numeric():> as.numeric(dat)Error: (list) object cannot be coerced to type 'double' Thanks! Dawn On Fri, Jul 10, 2015 at 4:35 PM, Dawn <dawn1313 at gmail.com> wrote:> Thank you all and sorry for the data messing. It has worked! > > Best, > Dawn > > On Fri, Jul 10, 2015 at 4:15 AM, Jim Lemon <drjimlemon at gmail.com> wrote: > >> Hi Dawn, >> Your data are a bit messed up, but try the following: >> >> colSums(dat[,grep("ABC",names(dat),fixed=TRUE)],na.rm=TRUE) >> colSums(dat[,grep("XYZ",names(dat),fixed=TRUE)],na.rm=TRUE) >> >> I'm assuming that you want to discard the NA values. >> >> Jim >> >> On Fri, Jul 10, 2015 at 6:52 AM, Rui Barradas <ruipbarradas at sapo.pt> >> wrote: >> > Hello, >> > >> > Please use ?dput to give a data example, like this it's completely >> > unreadable. If your data.frame is named 'dat' use >> > >> > dput(head(dat, 30)) # paste the outut of this in your mail >> > >> > >> > And don't post in html, use plain text only, like the posting guide >> says. >> > >> > Rui Barradas >> > >> > >> > Em 09-07-2015 18:12, Dawn escreveu: >> >> >> >> Hi, >> >> >> >> I have a big dataframe as follows >> >> >> >> 109ABC 109XYZ 18ABC 18XYZ 22XYZ 23ABC 25ABC >> >> 25XYZ >> >> 30ABC 31XYZ 32ABC 32XYZ 34DCM 34XYZ 36ABC >> 36SUR >> >> 38DCM 38XYZ 39DCM 39SUR 41DCM 41SUR 42DCM 42SUR >> >> 46SUR 52DCM 64ABC 64XYZ 65ABC 65XYZ 66ABC 66XYZ >> >> 67XYZ 68ABC 68SUR 70MES 70SUR 72ABC 72XYZ 76ABC >> >> 76XYZ 82ABC 85ABC POV >> >> Cluster_1 17 >> 1 >> >> 3 10 14 5 2 2 1 1 1 2 >> >> 2 TT:61 >> >> Cluster_2 1 4 20 >> >> 6 5 3 6 9 9 6 10 1 3 1 >> >> 4 TT:88 >> >> Cluster_3 3 3 6 4 17 >> >> 17 18 13 17 19 22 11 5 21 8 5 18 4 >> >> 7 9 >> >> TT:227 >> >> ........ >> >> >> >> I want to get two columns, i.e, one is to sum columns for all >> including >> >> ABC for each row and the other is to sum columns for all including XYZ >> >> for >> >> each row. >> >> >> >> Is there some help? Thank you! >> >> Dawn >> >> >> >> [[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. >> > >[[alternative HTML version deleted]]