[R] Error in `[[<-.data.frame`(`*tmp*`, alt.name, value = integer(0)) with mlogit

Jeff Newmiller jdnewmil at dcn.davis.ca.us
Sat Jul 29 00:11:26 CEST 2017


I don't know either. Perhaps someone else on the list who uses that _contributed_ package will know. 

Please be aware that it is both possible and preferred that you make reproducible examples so others can troubleshoot. See any of [1][2][3]

[1] http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example

[2] http://adv-r.had.co.nz/Reproducibility.html

[3] https://cran.r-project.org/web/packages/reprex/index.html (read the vignette)
-- 
Sent from my phone. Please excuse my brevity.

On July 28, 2017 12:58:16 PM PDT, sandoz at free.fr wrote:
>
>
>I don't understand why the 2 int columns are associated to make a row
>name 
>
>> horse1.data<-read.csv("cte2.csv", header=TRUE, sep=";")
>>
>h1.dat<-mlogit.data(data=horse1.data,choice="win",chid.var="raceid",alt.var="nbChev",shape="long")
>Error in `row.names<-.data.frame`(`*tmp*`, value = c("1.9", "1.9",
>"1.9",  : 
>  duplicate 'row.names' are not allowed
>In addition: Warning message:
>non-unique values when setting 'row.names': ‘1.9’, ‘2.17’ 
>> head(horse1.data,27)
>   raceid nbChev  cteD cteTh win
>1       1      9  29.6  23.8  no
>2       1      9   5.3   6.7  no
>3       1      9  10.9  11.5  no
>4       1      9   8.2   6.7 yes
>5       1      9  17.8  18.2  no
>6       1      9  26.0  30.0  no
>7       1      9   4.4   5.7  no
>8       1      9   4.9   6.0  no
>9       1      9   4.5   6.9  no
>10      2     17  32.1  48.3  no
>11      2     17   8.8  24.5  no
>12      2     17  36.7  18.3  no
>13      2     17   6.7  11.8 yes
>14      2     17  10.3  12.8  no
>15      2     17  61.6  68.5  no
>16      2     17   2.5   6.7  no
>17      2     17  27.7  30.9  no
>18      2     17   8.4  10.5  no
>19      2     17  56.5  40.7  no
>20      2     17  95.5  11.9  no
>21      2     17  12.7   6.4  no
>22      2     17  19.6  14.2  no
>23      2     17 269.6  67.2  no
>24      2     17 300.0  75.6  no
>25      2     17 300.0 114.3  no
>26      2     17  36.3  16.9  no
>
>> str(horse1.data)
>'data.frame':	26 obs. of  5 variables:
> $ raceid: int  1 1 1 1 1 1 1 1 1 2 ...
> $ nbChev: int  9 9 9 9 9 9 9 9 9 17 ...
> $ cteD  : num  29.6 5.3 10.9 8.2 17.8 26 4.4 4.9 4.5 32.1 ...
> $ cteTh : num  23.8 6.7 11.5 6.7 18.2 30 5.7 6 6.9 48.3 ...
> $ win   : Factor w/ 2 levels "no","yes": 1 1 1 2 1 1 1 1 1 1 ...
>
>----- Mail original -----
>De: "Jeff Newmiller" <jdnewmil at dcn.davis.ca.us>
>À: sandoz at free.fr
>Envoyé: Vendredi 28 Juillet 2017 18:42:33
>Objet: Re: [R] Error in `[[<-.data.frame`(`*tmp*`, alt.name, value =
>integer(0))  with mlogit
>
>The str(horse1.data) shows two columns are factors that should have
>been numeric. You need to investigate your data quality. If there are
>indicators for unknown values like NA or - in those columns then you
>can use the na.string argument to read.csv to automatically convert
>those markers to NA in R. If you don't know what NA is, go find a
>tutorial or read the Introduction to R document supplied with R. 
>
>You might also find that some of the numbers have commas or unexpected
>characters in them... you might have to remove improperly formatted
>data in a text editor or use the R sub function to clean it up. 



More information about the R-help mailing list