Thanks for the suggestion!

________________________________
> Date: Thu, 6 May 2010 13:40:04 -0700
> Subject: Re: [R] 'matplot' for matrix with NAs: broken lines
> From: djmu...@gmail.com
> To: shi...@hotmail.com
> CC: maech...@stat.math.ethz.ch; r-help@r-project.org
>
> Hi:
>
> If you intend to use your preferred solution, then I would suggest that you 
> increase the size of
> the plotted points relative to the thickness of the adjoining lines; in your 
> last line of code, something
> like
>
>
> xyplot(y~x, group=g, data=tmp2, type="b", cex = 2, pch = 16)
>
> This way, it will be easier to spot where data values are missing.
>
> HTH,
> Dennis
>
> On Thu, May 6, 2010 at 10:44 AM, Tao Shi> wrote:
>
>
>
> I just found out that my "does this by default" statement (by which I was 
> referring to the ability to automatically connect two points with a NA in the 
> middle in a time series) is wrong! Actually, all plotting functions, i.e. 
> plot, matplot and xyplot, don't plot NAs. The solution I came up with is 
> convert the data to "long" table, remove NAs, and then use xyplot. See 
> example below:
>
>
>
>
> set.seed(1234)
>
> a=b=matrix(rnorm(9), 3,3)
>
> b[2,2]=NA
>
> matplot(a, type="b")
>
[[elided Hotmail spam]]
>
> matplot(b, type="l") ## Now my data for the second column are missing from 
> the graph
>
>
>
>
>
> ## my solution
>
> tmp1 <- data.frame(g=rep(1:3,each=3), x=rep(1:3,3), y=c(b))
>
> xyplot(y~x, group=g, data=tmp1, type="b", pch=c("1","2","3")) ## there is 
> still no line connecting two "2"s.
>
>
>
> tmp2 <- tmp1[!is.na(tmp1$y),]
>
> xyplot(y~x, group=g, data=tmp2, type="b")
>
> ## this is what I want, b/c it's easier for me to keep track of both trend 
> and missing values. The original post was really asking whether a simple 
> change of some parameters in matplot can do this. Now, I guess not.
>
>
>
>
> ...Tao
>
>
>
>
>
> ----------------------------------------
>
>> From: maech...@stat.math.ethz.ch
>
>> Date: Thu, 6 May 2010 18:34:22 +0200
>
>> To: shi...@hotmail.com
>
>> CC: ggrothendi...@gmail.com; r-help@r-project.org
>
>> Subject: Re: [R] 'matplot' for matrix with NAs: broken lines
>
>>
>
>>>>>>> "TS" == Tao Shi
>
>>>>>>> on Wed, 5 May 2010 20:11:26 +0000 writes:
>
>>
>
>> TS> Thanks, Gabor! So, there is no way I can change some graphic parameters 
>> in 'matplot' to get this?
>
>>
>
>>
>
>> TS> I forgot to mention that I purposely use type="b", so I know where the 
>> missing data are. With imputed data, either using "b" or "l", there is no 
>> way to keep track of NAs. Plus, in my real data sometimes there is only one 
>> non-missing value in a particular column and na.approx can't work (well I 
>> could selectively impute the NAs ... )
>
>
>>
>
>> TS> So far, my best solution to this is to use "xyplot". It does this by 
>> default, but of course I need some data manipulation first.
>
>>
>
>> "does this by default" meaning what?
>
>> I don't think it does impute missing, does it?
>
>>
>
>> Can you elaborate, using your example (below)?
>
>>
>
>> I found Gabor's answer appropriate,
>
>> I really cannot see why matplot() should behave differently here...
>
>>
>
>> ----
>
>>
>
>> Martin Maechler
>
>>
>
>>
>
>>
>
>>
>
>> TS> ----------------------------------------
>
>>>> From: ggrothendi...@gmail.com
>
>>>> Date: Wed, 5 May 2010 15:45:44 -0400
>
>>>> Subject: Re: [R] 'matplot' for matrix with NAs: broken lines
>
>>>> To: shi...@hotmail.com
>
>>>> CC: r-help@r-project.org
>
>>>>
>
>>>> Try this:
>
>>>>
>
>>>> library(zoo)
>
>>>> matplot(na.approx(b), type = "l")
>
>>>>
>
>>>> On Wed, May 5, 2010 at 2:30 PM, Tao Shi wrote:
>
>>>>>
>
>>>>> Hi list,
>
>>>>>
>
>>>>> I know that points involving NAs are not plotted in 'matplot', but when I 
>>>>> plot them as lines, I still want the lines to connect all the points 
>>>>> (i.e. not broken where there are NAs). Please see the example below. How 
>>>>> can I achieve this in 'matplot'? If I can't, any good alternatives so I 
>>>>> don't have to use 'plot' + 'lines' and loop through all the columns.
>
>
>>>>>
>
>>>>> Many thanks!
>
>>>>>
>
>>>>> ...Tao
>
>>>>>
>
>>>>>> set.seed(1234)
>
>>>>>> a=b=matrix(rnorm(9), 3,3)
>
>>>>>> b[2,2]=NA
>
>>>>>> matplot(a, type="b")
>
>> TS> [[elided Hotmail spam]]
>
>>>>>> matplot(b, type="l") ## Now my data for the second column are missing 
>>>>>> from the graph
>
>>>>>
>
>>>>>
>
>>>>> _________________________________________________________________
>
>>>>> Hotmail is redefining busy with tools for the New Busy. Get more from 
>>>>> your inbox.
>
>>>>>
>
>>>>> N:WL:en-US:WM_HMP:042010_2
>
>>>>> ______________________________________________
>
>>>>> R-help@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.
>
>>>>>
>
>>
>
>> TS> _________________________________________________________________
>
>> TS> Hotmail has tools for the New Busy. Search, chat and e-mail from your 
>> inbox.
>
>>
>
>> TS> N:WL:en-US:WM_HMP:042010_1
>
>> TS> ______________________________________________
>
>> TS> R-help@r-project.org mailing list
>
>> TS> https://stat.ethz.ch/mailman/listinfo/r-help
>
>> TS> PLEASE do read the posting guide 
>> http://www.R-project.org/posting-guide.html
>
>> TS> and provide commented, minimal, self-contained, reproducible code.
>
>
>
> _________________________________________________________________
>
> Hotmail has tools for the New Busy. Search, chat and e-mail from your inbox.
>
>
>
> N:WL:en-US:WM_HMP:042010_1
>
> ______________________________________________
>
> R-help@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.
>
>
                                          
_________________________________________________________________
The New Busy think 9 to 5 is a cute idea. Combine multiple calendars with 
Hotmail. 

PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_5
______________________________________________
R-help@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.

Reply via email to