[R] Ranking

David L Carlson dcarlson at tamu.edu
Mon Nov 16 05:28:02 CET 2015


I used your code but deleted sep="\t" since there were no tabs in your email and added the fill= argument I mentioned before.



David



-------- Original message --------
From: Ashta <sewashm at gmail.com>
Date: 11/14/2015 6:40 PM (GMT-06:00)
To: David L Carlson <dcarlson at tamu.edu>
Cc: R help <r-help at r-project.org>
Subject: Re: [R] Ranking

Thank you David,

My intention was if I change the status column  to numeric
0= Lost and 1 Won, then I can use this numeric variables  to calculate
the  Percent game Won by each country.
how did you read the data first?
That was my problem.   The actual data is in a file have to be read or laded.

Thank you !






On Sat, Nov 14, 2015 at 6:10 PM, David L Carlson <dcarlson at tamu.edu> wrote:
> It is always good to read the manual page for a function, but especially when it is not working as you expected. In this case if you look at the arguments for read.table(), you will find one called fill=TRUE that is useful in this case.
>
> Based on your ifelse(), you seem to be assuming that a blank is not missing data but a lost game. You may also discover that in your example wins are coded as w and W.  Since character variables get converted to factors by default, you could use something like:
>
>> levels(test$STATUS) <- c("L", "W", "W")
>> addmargins(xtabs(~Country+STATUS, test), 2)
>        STATUS
> Country L W Sum
>     FRA 2 3   5
>     GER 1 3   4
>     SPA 2 1   3
>     UNK 1 2   3
>     USA 1 2   3
>
> I'll let you figure out how to get the last column.
>
> David L. Carlson
> Department of Anthropology
> Texas A&M University
>
> -----Original Message-----
> From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Ashta
> Sent: Saturday, November 14, 2015 4:28 PM
> To: R help <r-help at r-project.org>
> Subject: [R] Ranking
>
> Hi all,
>
> I have the following raw data some records  don't have the second variable.
>
> test <- read.table(textConnection(" Country  STATUS
> USA
> USA    W
> USA    W
> GER
> GER    W
> GER    w
> GER    W
> UNK    W
> UNK
> UNK    W
> FRA
> FRA
> FRA    W
> FRA    W
> FRA    W
> SPA
> SPA    W
> SPA          "),header = TRUE,  sep= "\t")
> test
>
> It is not reading it correctly.
>
> Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  :
>   line 17 did not have 2 elements
>
>
>
> After reading   I want change the status column  to numeric so that I
> can use the table function
>
> test$STATUS <- ifelse(is.na(test$STATUS), 0,  1)
>
> at the end I want the following table (Country, Won, Lost , Number of
> games played and % of score ) and pick the top 3 countries.
>
> COUNTRY   Won   Lost   NG    %W
>  USA             2        1         3      (2/3)*100
>  GER             3        1         4      (3/4)*100
>  UNK             2        1         3      (2/3)*100
>  FRA             3         2        5      (3/5)*100
>  SPA             1         2         3      (1/3)*100
>
> Thank you in  advance
>
> ______________________________________________
> 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