Hello,

As for the first question, instead of writing a xlsx file, maybe it is easier to write a csv file and then open it with Excel.

tbl2 <- addmargins(tbl1)
write.csv(tbl2, "tt1.csv")

As for the second question, the following does it.

inx <- apply(tbl1, 1, function(x) all(x != 0))
tbl1b <- addmargins(tbl1[inx, ])
tbl1b


Hope this helps,

Rui Barradas

On 2/3/2018 4:42 PM, Val wrote:
Thank you so much Rui.

1. How do I export this table to excel file?
I used this
       tbl1 <- table(Country, IDNum)
       tbl2=addmargins(tbl1)
       write.xlsx(tbl2,"tt1.xlsx"),sheetName="summary", row.names=FALSE)
The above did not give me that table.


2. I want select those unique Ids that do have records in all countries.
 From the above data set, this ID  "FIN1540166"  should be excluded from the summary table and the table looks like as follow

IDNum Country 1 33 358 44 Sum CAN1540164 47 141 248 90 526 USA1540165 290 757 321 171 1539 Sum 337 898 569 261 2065

Thank you again


On Fri, Feb 2, 2018 at 11:26 PM, Rui Barradas <ruipbarra...@sapo.pt <mailto:ruipbarra...@sapo.pt>> wrote:

    Hello,

    Thanks for the reproducible example.
    See if the following does what you want.

    IDNum <- sub("^(\\d+).*", "\\1", mydata$ID)
    Country <- sub("^\\d+(.*)", "\\1", mydata$ID)

    tbl1 <- table(Country, IDNum)
    addmargins(tbl1)

    tbl2 <- xtabs(Y ~ Country + IDNum, mydata)
    addmargins(tbl2)


    Hope this helps,

    Rui Barradas


    On 2/3/2018 3:00 AM, Val wrote:

        Hi all,

        I have a data set  need to be summarized by unique ID (count and
        sum of a
        variable)
        A unique individual ID (country name  Abbreviation  followed by
        an integer
numbers)  may  have observation in several countries. Then the ID was
        changed by adding the country code as a prefix  and  new ID was
        constructed
        or recorded like (country code, + the original unique ID  Example
        original ID   "CAN1540164" , if this ID has an observation in
        CANADA then
        the ID was changed to    "1CAN1540164".   From this new ID I
        want get out
        the country code  get the  original unique ID  and   summarize
        the data by
        unique ID and country code

        The data set look like
        mydata <- read.table(textConnection("GR ID iflag Y
        A 1CAN1540164 1 20
        A 1CAN1540164 1 12
        A 1CAN1540164 1 15
        A 44CAN1540164 1 30
        A 44CAN1540164 1 24
        A 44CAN1540164 1 25
        A 44CAN1540164 1 11
        A 33CAN1540164 1 12
        A 33CAN1540164 1 23
        A 33CAN1540164 1 65
        A 33CAN1540164 1 41
        A 358CAN1540164 1 28
        A 358CAN1540164 1 32
        A 358CAN1540164 1 41
        A 358CAN1540164 1 54
        A 358CAN1540164 1 29
        A 358CAN1540164 1 64
        B 1USA1540165 1 125
        B 1USA1540165 1 165
        B 44USA1540165 1 171
        B 33USA1540165 1 254
        B 33USA1540165 1 241
        B 33USA1540165 1 262
        B 358USA1540165 1 321
        C 358FIN1540166 1 225 "),header = TRUE ,stringsAsFactors = FALSE)

          From the above data there are three unique IDs and  four
        country codes (1,
        44, 33 and 358)

        I want the following two tables

        Table 1. count  the  unique ID by country code
                                    1   44   33   358     TOT
        CAN1540164     3    4     4      6        17
        USA1540165      2   1      3     1          7
        FIN1540166       -     -       -      1         1
                     TOT         5    5      7      8       25


        Table 2  Sum of Y variable by unique ID and country. code

                                    1       44       33      358      TOT
        CAN1540164    47     90      141      248       526
        USA1540165   290   171      757      321     1539
        FIN1540166        -        -         -         225       225
                      TOT      337     261      898    794     2290


        How do I do it in R?

           The first step is to get the unique country codes unique ID
        by splitting
        the new ID

        Thank you in advance

                 [[alternative HTML version deleted]]

        ______________________________________________
        R-help@r-project.org <mailto:R-help@r-project.org> mailing list
        -- To UNSUBSCRIBE and more, see
        https://stat.ethz.ch/mailman/listinfo/r-help
        <https://stat.ethz.ch/mailman/listinfo/r-help>
        PLEASE do read the posting guide
        http://www.R-project.org/posting-guide.html
        <http://www.R-project.org/posting-guide.html>
        and provide commented, minimal, self-contained, reproducible code.



______________________________________________
R-help@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.

Reply via email to