[R] Need help with xyplot - thanks

aziz4 at illinois.edu aziz4 at illinois.edu
Tue Aug 9 20:07:45 CEST 2011


Lolz, My bad in assigning 13, 14 to age ranges 15-18. I have corrected that to 16 and 17. Thanks for pointing out.

Your R code works great. I shall try it with my real data. I shall get back with more questions after I give a shot to understand your code myself.

Best,
Fayez

---- Original message ----
>Date: Mon, 8 Aug 2011 12:58:32 -0700
>From: Dennis Murphy <djmuser at gmail.com>  
>Subject: Re: [R] Need help with xyplot  
>To: aziz4 at illinois.edu
>Cc: r-help at r-project.org
>
>Hi:
>
>Try this:
>
># Obtained from 'dput(dd)'
>dd <- structure(list(AgeRange = structure(c(1L, 1L, 2L, 2L, 3L, 3L),
>.Label = c("10-12",
>"15-18", "30-40"), class = "factor"), AgeOfPerson = c(11L, 12L,
>13L, 14L, 33L, 36L), PersonNo = 1:6, Year0 = c(0L, 0L, 1L, 1L,
>3L, 4L), Year1 = c(1L, 1L, 2L, 3L, 5L, 4L), Year2 = c(2L, 2L,
>3L, 4L, 5L, 4L), Year3 = c(2L, 2L, 4L, 5L, 6L, 4L), Year4 = c(3L,
>3L, 6L, 7L, 8L, 4L), Year5 = c(3L, 3L, 7L, 7L, 9L, 4L)), .Names = c("AgeRange",
>"AgeOfPerson", "PersonNo", "Year0", "Year1", "Year2", "Year3",
>"Year4", "Year5"), class = "data.frame", row.names = c(NA, -6L
>))
>
>library('reshape')
>library('lattice')
># Reshape data from wide to long
>md <- melt(dd, id.vars = c('AgeRange', 'AgeOfPerson', 'PersonNo'))
># Make variable numeric by stripping off all but the last
># character and coercing it to numeric
>md$variable <- as.numeric(substr(as.character(md$variable), 5, 5))
>
>mykey = list(title="Age of Person",
>             corner = c(1, 1),
>             x = 0.85, y = 0.9, cex = 1.0,
>             text = list(as.character(unique(md$AgeOfPerson))),
>             lines = list(col = 1:6))
>xyplot(value ~ variable | AgeRange, data = md, group = PersonNo, type
>= c('p', 'l'),
>        col = 1:6, col.lines = 1:6, key = mykey)
>
>Here's my question: Why do you have a 15-18 age group with persons of
>age 13 and 14 in it?
>
>HTH,
>Dennis
>
>On Wed, Aug 3, 2011 at 2:06 PM,  <aziz4 at illinois.edu> wrote:
>>
>> Consider I have the following data:
>>
>> AgeRange        AgeOfPerson     PersonNo        FriendsAtYear0  FriendsAtYear1  FriendsAtYear2  FriendsAtYear3  FriendsAtYear4  FriendsAtYear5
>> 10 - 12 11      1       0       1       2       2       3       3
>> 10 - 12 12      2       0       1       2       2       3       3
>> 15 - 18 13      3       1       2       3       4       6       7
>> 15 - 18 14      4       1       3       4       5       7       7
>> 30 - 40 33      5       3       5       5       6       8       9
>> 30 - 40 36      6       4       4       4       4       4       4
>>
>> I want to plot the number of friends against number of years, as to show how friendships grew over time. Also, I want to group the graphs by AgeRange of persons and also color them with respect to the Age of Persons. So far, I have this code:
>>
>>
>> FilePath = "C:\\Documents and Settings\\All Users\\Documents\\Desktop\\Fayez\\ResearchWork\\Pajek_Work\\Program\\2011-03-07-Wed-FriMeetingApr15\\RPractice\\"
>>
>> NumberOfyears <- c(0, 1, 2, 3, 4 ,5);
>>
>> File2Open = paste(FilePath, "FriendshipNetExample.txt", sep = "")
>> #               print(File2Open)
>>
>> DataTable = read.table(File2Open, header = TRUE, sep = "\t")
>> #               print(DataTable)
>>
>> print(xyplot(FriendsAtYear0 + FriendsAtYear1 + FriendsAtYear2 + FriendsAtYear3 + FriendsAtYear4 + FriendsAtYear5
>>  ~ AgeOfPerson | AgeRange, data = DataTable, xlab = "Number of Years (0 to 5)", ylab = "Number of Friends", main = "Number of Friends vs. Years",
>>  #aspect = "xy", # calculate an optimal aspect ratio
>>  panel = function(x,y) {
>>        panel.grid();
>>        if (10 <= x && x < 12)  panel.xyplot(x,y,col="red");
>>        if (15 <= x && x < 18)  panel.xyplot(x,y,col="salmon");
>>        if (30 <= x && x < 40)  panel.xyplot(x,y,col="maroon");
>> } ) )
>>
>> But it obviously does not serve the purpose. Urgent help would be most appreciated.
>>
>> Best,
>> Fayez
>> Grad student - UIUC
>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> 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.
>>



More information about the R-help mailing list