[R] Help with the Error Message in R "Error in 1:nchid : result would be too long a vector"

David Winsemius dw|n@em|u@ @end|ng |rom comc@@t@net
Tue Sep 22 17:15:40 CEST 2020

You were told two things about your code:

1) mlogit.data is deprecated by the package authors, so use dfidx.

2) dfidx does not allow duplicate ids in the first two columns.

Which one of those are you asserting is not accurate?



On 9/21/20 10:20 PM, Rahul Chakraborty wrote:
> Hello David and everyone,
> I am really sorry for not abiding by the specific guidelines in my
> prior communications. I tried to convert the present email in plain
> text format (at least it is showing me so in my gmail client). I have
> also converted the xlsx file into a csv format with .txt extension.
> So, my problem is I need to run panel mixed logit regression for a
> choice model. There are 3 alternatives, 9 questions for each
> individual and 516 individuals in data. I have created a csv file in
> long format from the survey questionnaire. Apart from the alternative
> specific variables I have many individual specific variables and most
> of these are dummies (dummy coded). I will use subsets of these in my
> alternative model specifications. So, in my data I have 100 columns
> with 13932 rows (3*9*516). After reading the csv file and creating a
> dataframe 'mydata' I used the following command for mlogit.
> mldata1<- mlogit.data(mydata, shape = "long", alt.var = "Alt_name",
> choice = "Choice_binary", id.var = "IND")
> It gives me the same error message- Error in 1:nchid : result would be
> too long a vector.
> The attached file (csv file with .txt extension) is an example of 2
> individuals each with 3 questions. I have also reduced the number of
> columns to 57. Now, there are 18 rows. But still if I use the same
> command on my new data I get the same error message. Can anyone please
> help me out with this? Because of this error I am stuck at the
> dataframe level.
> Thanks in advance.
> Regards,
> Rahul Chakraborty
> On Tue, Sep 22, 2020 at 4:50 AM David Winsemius <dwinsemius using comcast.net> wrote:
>> @Rahul;
>> You need to learn to post in plain text and attachments may not be xls
>> or xlsx. They need to be text files. And even if they are comma
>> separated files and text, they still need to be named with a txt extension.
>> I'm the only one who got the xlsx file. I got the error regardless of
>> how many column I omitted, so my gues was possibly incorrect. But I did
>> RTFM. See ?mlogit.datadfi The mlogit.data function is deprecated and you
>> are told to use the dfidx function. Trying that you now get an error
>> saying: " the two indexes don't define unique observations".
>>   > sum(duplicated( dfrm[,1:2]))
>> [1] 12
>>   > length(dfrm[,1])
>> [1] 18
>> So of your 18 lines in the example file, most of them appear to be
>> duplicated in their first two rows and apparently that is not allowed by
>> dfidx.
>> Caveat: I'm not a user of the mlogit package so I'm just reading the
>> manual and possibly coming up with informed speculation.
>> Please read the Posting Guide. You have been warned. Repeated violations
>> of the policies laid down in that hallowed document will possibly result
>> in postings being ignored.

More information about the R-help mailing list