> On May 14, 2017, at 11:43 AM, Tobias Christoph <s3toc...@uni-bayreuth.de> > wrote: > > Hey Peter, > > it is not necessary to use "factor(town)". I can just use "town" as the name > of the towns is already numeric. >
Isn't it a discrete variable? You most probably do want a different estimate for town. -- David > > > Am 14.05.2017 um 20:24 schrieb peter dalgaard: >>> On 14 May 2017, at 10:22 , Tobias Christoph <s3toc...@uni-bayreuth.de> >>> wrote: >>> >>> Hey David, >>> >>> when I used your suggested formula: plm( log(revenue) ~ log(supply) + >>> factor(town) + as.numeric(as.character(year)), data=R_Test_log_Neu) I will >>> get the same results as without considering town and year in the formula. >>> So this might not the clue for taking into account a linear trend. >> You probably still want a "*" in the model formula. >> >> (It is not obvious to me why a plain factor(town)*year term does not work, >> something in the panel data frame setup auto-converts it to a factor? But >> why do you need to say factor(town) then?) >> >> -pd >> >>> Please find attached the results of str(R_Test_log_Neu): >>> Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 132 obs. of 4 variables: >>> $ town : num 1 1 1 1 1 1 1 1 1 1 ... >>> $ year : num 1 2 3 4 5 6 7 8 9 10 ... >>> $ revenue: num 39.9 43.3 44 43.2 39.1 ... >>> $ supply : num 1 1 1 1 1 1 35 101 181 323 ... >>> >>> >>> >>> Hope this is helpful. >>> >>> Toby >>> >>> >>> >>> Am 13.05.2017 um 16:40 schrieb David Winsemius: >>>>> On May 13, 2017, at 4:07 AM, Tobias Christoph <s3toc...@uni-bayreuth.de> >>>>> wrote: >>>>> >>>>> Hey Peter, >>>>> >>>>> thank you. Yes, I want to have "year" in the varibale. >>>>> But if I use "*town*year*" as a furmula, R will create new factor >>>>> variable with n levels, where n = (num of towns) x (num of years). What >>>>> I'm trying to do is create 50 (town x year) variables such that >>>>> town1xyear is 1,2,3... when town== 1 and zero otherwise, repeat for >>>>> town2xyear, where state == 2, etc. >>>>> >>>>> It is now clear? Sorry for my bad explanations. >>>>> >>>> I had suggested that you must provide str(R_Test_log_Neu). I'm still >>>> suggesting this would be a good idea. >>>> >>>> Since you have not done so, we can only guess at the right course to >>>> follow from your reports of problems and errors. Peter pointed out that >>>> the `time` function was in the 'stats' package (not from plm or elsewhere >>>> as I imagined). You are implying that 'year' is currently a factor value >>>> with levels that appears as the character versions of integers. >>>> >>>> You may be able to get closer to what is possible by using: >>>> >>>> plm( log(revenue) ~ log(supply) + factor(town) + >>>> as.numeric(as.character(year)), >>>> data=R_Test_log_Neu) >>>> >>>> This should fix the problem noted by Peter and avoid the potentially >>>> incorrect construction of the desired linear trend. >>>> >>>> If you used the interaction operator "*" between 'town' and the numeric >>>> version of 'year' it will give you two sets of coefficients involving >>>> 'town'. The first set will be the mean deviations from the base factor >>>> level. The other set will be the differences in slopes for the time trends >>>> for each of the (factored) towns from the overall time trend/slope. And >>>> for your data you wouldbe constructing a saturated model ... as you >>>> observed in your first message (which remains in the copied thread below). >>>> >>>> > David Winsemius Alameda, CA, USA ______________________________________________ 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.