Hi AK

I have been trying to create some plots. All being categorical variables, I
am not getting any luck with plots. The few ones that have worked are below:

barchart(~table(HiBP)|Obese,data=BP.sub3) ## BP.sub3 is the stacked data
without missing values

barchart(~table(HiBP)|Overweight,data=BP.sub3)

plot(jitter(hibp14,factor=2)~jitter(Obese14,factor=2),col="gray",cex=0.7,
data=Copy.of.BP_2)  ## Copy.of.BP_2 is the original wide format

## not producing any good plots with mixed models as well.
summary(lme.3 <- lme(HiBP~time, data=BP.sub3,random=~1|CODEA,
na.action=na.omit))
anova(lme.3)
head(ranef(lme.3))
print(plot(ranef(lme.3))) ##

Thanks for any help.




On Mon, Jan 14, 2013 at 4:33 AM, arun <smartpink111@yahoo.com> wrote:

>
>
>
> HI,
>
> I think I mentioned to you before that when you reshape the
> columns excluding the response variable, response variable gets repeated
> (in this case hibp14 or hibp21) and creates the error"
>
>
> I run your code, there are obvious problems in the code so I didn't reach
> up to BP.gee
>
> BP_2b<-read.csv("BP_2b.csv",sep="\t")
> BP.stack3 <-
> reshape(BP_2b,idvar="CODEA",timevar="time",sep="_",varying=list(c("Obese14","Obese21"),c("Overweight14","Overweight21")),v.names=c("Obese","Overweight"),times=factor(c(1,2)),direction="long")
>
> BP.stack3 <-
> transform(BP.stack3,CODEA=factor(CODEA),Sex=factor(Sex,labels=c("Male","Female")),MaternalAge=factor(MaternalAge,labels=c("39years
> or less","40-49 years","50 years or
> older")),Education=factor(Education,labels=c("Primary/special","Started
> secondary","Completed grade10", "Completed grade12",
> "College","University")),Birthplace=factor(Birthplace,labels=c("Australia","Other
> English-speaking","Other")))
>  BP.stack3$Sex <-
> factor(BP.stack3$Sex,levels=levels(BP.stack3$Sex)[c(2,1)])
>  BP.sub3a <-  subset(BP.stack3,subset=!(is.na(Sex)| is.na(Education)|is.na
> (Birthplace)|is.na(Education)|is.na(hibp14)| is.na(hibp21)))
>  nrow(BP.sub3a)
> #[1] 3364
>  BP.sub5a <- BP.sub3a[order(BP.sub3a$CODEA),] # your code was BP.sub5a <-
> BP.sub3a[order(BP.sub5a$CODEA),]
>
> ^^^^^ was not defined before
> #Next line
> BPsub3$Categ[BPsub6$Overweight==1&BPsub3$time==1&BPsub3$Obese==0]<-
> "Overweight14"  #It should be BP.sub3 and what is BPsub6, it was not
> defined previously.
> #Error in BPsub3$Categ[BPsub6$Overweight == 1 & BPsub3$time == 1 &
> BPsub3$Obese ==  :
>   #object 'BPsub3' not found
>
>
>
>
>
>
> A.K.
>
>
> ________________________________
> From: Usha Gurunathan <usha.nathan@gmail.com>
> To: arun <smartpink111@yahoo.com>
> Sent: Sunday, January 13, 2013 1:51 AM
> Subject: Re: [R] random effects model
>
>
> HI AK
>
> Thanks a lot  for explaining that.
>
> 1. With the chi sq. ( in order to find out if the diffce is significant
> between groups) do I have create a separate excel file and make a
> dataframe.How do I go about it?
>
> I have resent a mail to Jun Yan at a difft email ad( first add.didn't
> work, mail not delivered).
>
> 2. With my previous query ( reg. Obese/Overweight/ Normal at age 14 Vs
> change of blood pressure status at 21), even though I had compromised
> without the age-specific regression, but I am still keen to explore why the
> age-specific regression didn't work despite it looking okay. I have given
> below the syntax. If you get time, could you kindly look at it and see if
> it could work by any chance? Apologies for persisting with this query.
>
>
> BP.stack3 <-
>
> reshape(Copy.of.BP_2,idvar="CODEA",timevar="time",sep="_",varying=list(c("Obese14","Obese21"),c("Overweight14","Overweight21")),v.names=c("Obese","Overweight"),times=factor(c(1,2)),direction="long
> BP.stack3
> head(BP.stack3)
> tail(BP.stack3)
>
>  names(BP.stack3)[c(2,3,4,5,6,7)] <-
> c("Sex","MaternalAge","Education","Birthplace","AggScore","IntScore")
>
> BP.stack3 <-
>
> transform(BP.stack3,CODEA=factor(CODEA),Sex=factor(Sex,labels=c("Male","Female")),MaternalAge=factor(MaternalAge,labels=c("39years
> or less","40-49 years","50 years or
> older")),Education=factor(Education,labels=c("Primary/special","Started
> secondary","Completed grade10", "Completed grade12",
>
> "College","University")),Birthplace=factor(Birthplace,labels=c("Australia","Other
> English-speaking","Other")))
>
> table(BP.stack3$Sex)
> BP.stack3$Sex <-
> factor(BP.stack3$Sex,levels=levels(BP.stack3$Sex)[c(2,1)])
>
> levels(BP.stack3$Sex)
> BP.sub3a <-  subset(BP.stack3,subset=!(is.na(Sex)| is.na(Education)|is.na
> (Birthplace)|is.na(Education)|is.na(hibp14)| is.na(hibp21)))
> summary(BP.sub3a)
> BP.sub5a <- BP.sub3a[order(BP.sub5a$CODEA),]
>  BPsub3$Categ[BPsub6$Overweight==1&BPsub3$time==1&BPsub3$Obese==0]
> <- "Overweight14"
> BPsub3$Categ[BPsub6$Overweight==1&BPsub3$time==2&BPsub3$Obese==0]
> <- "Overweight21"
>
> BPsub3$Categ[BPsub3$Obese==1&BPsub3$time==1&BPsub3$Overweight==0|BPsub3$Obese==1&BPsub3$time==1&BPsub3$Overweight==1
> ] <- "Obese14"
> BPsub3$Categ[BPsub3$Obese==0&BPsub3$time==1&BPsub3
> BPsub3$Categ[BPsub6$Overweight==1&BPsub3$time==1&BPsub3$Obese==0]
> <- "Overweight14"$Overweight==0]
> <- "Normal14"
> BPsub3$Categ[BPsub3$Obese==0&BPsub3$time==2&BPsub3$Overweight==0]
> <- "Normal21"
>
> BPsub3$Categ[BPsub3$Obese==1&BPsub3$time==2&BPsub3$Overweight==0|BPsub3$Obese==1&BPsub3$time==2&BPsub3$Overweight==1]
> <- "Obese21"
>
>
>
> BPsub3$Categ <- factor(BPsub3$Categ)
> BPsub3$time <- factor(BPsub3$time)
> summary(BPsub3$Categ)
> BPsub7 <- subset(BPsub6,subset=!(is.na(Categ)))
> BPsub7$time <-
> recode(BPsub7$time,"1=14;2=21")
> BPsub7$hibp14 <- factor(BPsub7$hibp14)
> levels(BPsub7$hibp14)
> levels(BPsub7$Categ)
> names(BPsub7)
> head(BPsub7)    ### this was looking quite okay.
>
> tail(BPsub7)
> str(BPsub7)
>
> library(gee)
>
> BP.gee <- geese(hibp14~ time*Categ,
> data=BPsub7,id=CODEA,family=binomial,
> corstr="exchangeable",na.action=na.omit)
>
> Thanks again.
>
>
>
> On Sun, Jan 13, 2013 at 1:22 PM, arun <smartpink111@yahoo.com> wrote:
>
> HI,
> >
> >table(BP_2b$Sex) #original dataset
> >#   1    2
> >#3232 3028
> > nrow(BP_2b)
> >#[1] 6898
> > nrow(BP_2bSexNoMV)
> >#[1] 6260
> > 6898-6260
> >#[1] 638 #these rows were removed from the BP_2b to create BP_2bSexNoMV
> >BP_2bSexMale<-BP_2bSexNoMV[BP_2bSexNoMV$Sex=="Male",]
> > nrow(BP_2bSexMale)
> >#[1] 3232
> > nrow(BP_2bSexMale[!complete.cases(BP_2bSexMale),]) #Missing rows with
> Male
> >#[1] 2407
> > nrow(BP_2bSexMale[complete.cases(BP_2bSexMale),]) #Non missing rows with
> Male
> >#[1] 825
> >
> >
> >You did the chisquare test on the new dataset with 6260 rows, right.
> >I removed those 638 rows because these doesn't belong to either male or
> female, but you want the % of missing value per male or female.  So, I
> thought this will bias the results.  If you want to include the missing
> values, you could do it, but I don't know where you would put that missing
> values as it cannot be classified as belonging specifically to males or
> females.  I hope you understand it.
> >
> >Sometimes, the maintainer's respond a bit slow.  You have to sent an
> email reminding him again.
> >
> >Regarding the vmv package, you could email Waqas Ahmed Malik (
> malik@math.uni-augsburg.de) regarding options for changing the title and
> the the font etc.
> >You could also use this link (
> http://www.r-bloggers.com/visualizing-missing-data-2/ ) to plot missing
> value (?plot.missing()).  I never used that package, but you could try.
> Looks like it gives more information.
> >
> >A.K.
> >
> >
> >
> >
> >
> >
> >
> >
> >________________________________
> >From: Usha Gurunathan <usha.nathan@gmail.com>
> >To: arun <smartpink111@yahoo.com>
> >Sent: Saturday, January 12, 2013 9:05 PM
> >
> >Subject: Re: [R] random effects model
> >
> >
> >Hi A.K
> >
> >So it is number of females missing/total female participants enrolled:
> 72.65%
> >Number of females missing/total (of males+ females)  participants
> enrolled : 35.14%
> >
> >The total no. with the master data: Males: 3232, females: 3028 ( I got
> this before removing any missing values)
> >
> >with table(Copy.of.BP_2$ Sex)  ## BP
> >
> >
> >If I were to write a table (  and do a chi sq. later),
> >
> >as Gender            Study                    Non study/missing     Total
> >      Male              825 (25.53%)             2407 (74.47%)       3232
> (100%)
> >    Female           828 (27.35%)             2200 (72.65%)       3028 (
> 100%)
> >     Total              1653                          4607
>        6260
> >
> >
> >The problem is when I did
> >>colSums(is.na(Copy.of.BP_2), the sex category showed N=638.
> >
> >I cannot understand the discrepancy.Also, when you have mentioned to
> remove NA, is that not a missing value that needs to be included in the
> total number missing. I am a bit confused. Can you help?
> >
> >## I tried sending email to gee pack maintainer at the ID with R site,
> mail didn't go through??
> >
> >Many thanks
> >
> >
> >
> >
> >
> >
> >On Sun, Jan 13, 2013 at 9:17 AM, arun <smartpink111@yahoo.com> wrote:
> >
> >Hi,
> >>Yes, you are right.  72.655222% was those missing among females.
>  35.14377% of values in females are missing from among the whole dataset
> (combined total of Males+Females data after removing the NAs from the
> variable "Sex").
> >>
> >>A.K.
> >>
> >>
> >>
> >>________________________________
> >>From: Usha Gurunathan <usha.nathan@gmail.com>
> >>To: arun <smartpink111@yahoo.com>
> >>Cc: R help <r-help@r-project.org>
> >>Sent: Saturday, January 12, 2013 5:59 PM
> >>
> >>Subject: Re: [R] random effects model
> >>
> >>
> >>
> >>Hi AK
> >>That works. I was trying to get  similar results from any other package.
> Being a beginner, I was not sure how to modify the syntax to get my output.
> >>
> >>lapply(split(BP_2bSexNoMV,BP_
> >>2bSexNoMV$Sex),function(x)
> (nrow(x[!complete.cases(x[,-2]),])/nrow(x))*100) #gives the percentage of
> rows of missing #values from the overall rows for Males and Females
> >>#$Female
> >>#[1] 72.65522
> >>#
> >>#$Male
> >>#[1] 74.47401
> >>
> >>#iF you want the percentage from the total number rows in Males and
> Females (without NA's in the the Sex column)
> >> lapply(split(BP_2bSexNoMV,BP_2bSexNoMV$Sex),function(x)
> (nrow(x[!complete.cases(x[,-2]),])/nrow(BP_2bSexNoMV))*100)
> >>#$Female
> >>#[1] 35.14377
> >>#
> >>#$Male
> >>#[1] 38.45048
> >>
> >>How do I interpret the above 2 difft results? 72.66% of values were
> missing among female participants?? Can you pl. clarify.
> >>
> >>Many thanks.
> >>
> >>
> >>On Sun, Jan 13, 2013 at 3:28 AM, arun <smartpink111@yahoo.com> wrote:
> >>
> >>lapply(split(BP_2bSexNoMV,BP_2bSexNoMV$Sex),function(x)
> (nrow(x[!complete.cases(x[,-2]),])/nrow(x))*100) #gives the percentage of
> rows of missing #values from the overall rows for Males and Females
> >>>#$Female
> >>>#[1] 72.65522
> >>>#
> >>>#$Male
> >>>#[1] 74.47401
> >>>
> >>>#iF you want the percentage from the total number rows in Males and
> Females (without NA's in the the Sex column)
> >>> lapply(split(BP_2bSexNoMV,BP_2bSexNoMV$Sex),function(x)
> (nrow(x[!complete.cases(x[,-2]),])/nrow(BP_2bSexNoMV))*100)
> >>>#$Female
> >>>#[1] 35.14377
> >>>#
> >>>#$Male
> >>>#[1] 38.45048
> >>
> >
>

	[[alternative HTML version deleted]]

