[R] sum some columns for each row

Dawn dawn1313 at gmail.com
Tue Jul 14 23:35:38 CEST 2015


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]]



More information about the R-help mailing list