r lattice wireframe different colours under specific conditions - r

I plot data in a 3D form using wireframe from the lattice package to show the volatility term structure. Here is the data:
library(lattice)
con <- textConnection (" X1M X2M X3M X6M X9M X12M X18M X24M VSTOXX Euro.Stoxx.50
2006-04-14 14.850 15.076 15.462 15.950 16.396 16.700 17.146 17.968 15.068 3793.830
2006-04-21 16.468 15.028 15.476 15.900 16.342 16.858 17.402 18.030 14.930 3824.030
2006-04-28 14.576 15.070 14.560 15.552 15.996 16.262 16.850 17.630 14.810 3865.136
2006-05-05 14.806 14.990 14.770 15.584 16.132 16.378 16.868 17.668 14.906 3848.302
2006-05-12 15.944 14.968 14.734 15.260 15.840 15.582 16.496 17.338 15.028 3844.066
2006-05-19 27.708 18.316 17.466 17.250 17.412 17.478 17.796 17.646 19.204 3655.658
2006-05-26 23.756 20.862 19.650 19.922 19.348 19.256 19.362 19.330 22.732 3613.942
2006-06-02 23.172 21.504 20.720 21.046 20.332 20.188 20.054 20.404 22.078 3638.574
2006-06-09 24.972 22.898 22.366 22.416 21.448 21.204 20.788 21.146 23.168 3535.830
2006-06-16 28.138 24.660 23.888 23.330 22.604 22.010 21.850 22.248 25.150 3451.960
2006-06-23 21.114 20.606 20.256 19.898 19.820 19.954 20.350 21.168 21.194 3525.386
2006-06-30 20.722 20.188 19.884 19.566 19.360 19.438 19.808 20.088 20.508 3555.864
2006-07-07 18.348 18.380 18.574 18.702 18.552 19.038 19.374 19.806 18.370 3653.206
2006-07-14 21.944 19.834 19.922 19.660 19.606 19.740 20.096 20.332 19.960 3597.120
2006-07-21 24.876 21.276 21.160 20.654 20.536 20.746 21.008 21.330 21.224 3544.618
2006-07-28 18.506 18.696 18.642 19.106 19.332 19.806 20.248 20.644 18.606 3659.466
2006-08-04 18.718 18.934 18.914 19.282 19.292 19.714 20.080 20.470 18.878 3682.964
2006-08-11 20.586 19.798 19.534 19.666 19.504 19.736 20.154 20.570 19.878 3676.808
2006-08-18 19.258 17.696 18.112 18.452 18.628 19.080 19.698 20.068 17.566 3773.618
")
Dat<- read.table(con, header = TRUE)
I would like to show two following things in a 3D plot (separately) :
1.) I can simply control levels for which I have different colours by
data2<-Dat[,c(8,7,6,5,4,3,2,1)]
wireframe(as.matrix(data2),
aspect = c(61/87, 0.4), drape = TRUE,
scales = list(arrows = F, cex= 0.5, font = 1),
xlab='Date', ylab='Maturity', zlab='Value',
col.regions=c("#FF3030","#551A8B","#43CD80"),
at=c(0,18,25,30))
but how can I have different colours for the periods whith flat/steep/inverse term structure ?
2.) The data set actually represents 9 weeks before and after the 2006-06-16 (or any other date,not necessarilly 9 weeks time span ) and I would like to highlight this specific date either by different colour in a 3D plot or some arrow / text/...
Thanks,
Alexander

Related

Plotting multiple series (scatter line) with same x axis on one plot [duplicate]

This question already has answers here:
Plot multiple columns on the same graph in R [duplicate]
(4 answers)
Closed 4 years ago.
I have a compositional data set. I have a set of columns (samples) which contain percentage data. Each row (channel-diameter in my case) is therefore a particular variable that each sample has a percentage of. E.g.
Channel diameter (um) sample2 sample3 sample8 sample9 sample17
0.375198 0.0365797 0.0424338 0.0158648 0.02944 0.0157091
0.411878 0.0647681 0.0750611 0.0280678 0.052028 0.0278099
0.452145 0.0956633 0.111489 0.0415484 0.0770551 0.0410209
0.496347 0.137893 0.162464 0.0601572 0.111755 0.0589772
0.544872 0.175746 0.210556 0.0771818 0.143911 0.0748565
0.59814 0.210752 0.257403 0.0932129 0.174446 0.089273
0.656615 0.244288 0.304665 0.10884 0.204511 0.102797
0.720807 0.278281 0.354677 0.124906 0.235612 0.11622
0.791275 0.31069 0.405324 0.140553 0.266354 0.128626
0.868632 0.339832 0.454374 0.15495 0.295125 0.139238
0.953552 0.365523 0.500985 0.167898 0.321535 0.147978
1.04677 0.387791 0.544478 0.179338 0.345493 0.154899
1.14911 0.407715 0.585383 0.189749 0.367873 0.160534
1.26145 0.424342 0.622144 0.1988 0.388226 0.164562
1.38477 0.437851 0.654347 0.206637 0.406776 0.167147
1.52015 0.448418 0.681951 0.213521 0.424175 0.168487
1.66876 0.457694 0.706822 0.220449 0.442197 0.169372
1.8319 0.466729 0.730714 0.228307 0.462539 0.170336
2.011 0.476516 0.755269 0.237889 0.48627 0.171799
2.2076 0.487906 0.782015 0.249849 0.514036 0.174083
2.42342 0.501736 0.81248 0.264752 0.546016 0.177432
2.66033 0.51929 0.848837 0.283331 0.582431 0.182235
2.92042 0.541324 0.892608 0.305976 0.62241 0.188562
3.20592 0.568374 0.944571 0.332691 0.663758 0.196293
3.51934 0.599897 1.00394 0.362726 0.702966 0.204848
3.8634 0.635522 1.06984 0.395209 0.736726 0.213754
4.2411 0.674643 1.14148 0.429266 0.762942 0.222574
4.65572 0.717242 1.21878 0.464337 0.780965 0.231205
5.11087 0.76318 1.30134 0.499874 0.791079 0.23963
5.61052 0.812207 1.38818 0.535257 0.794286 0.247904
6.15902 0.863791 1.478 0.570021 0.793137 0.256198
6.76114 0.917491 1.56991 0.604296 0.792304 0.264896
7.42212 0.973638 1.66349 0.638955 0.797465 0.274726
8.14773 1.03178 1.75579 0.674653 0.812076 0.286046
8.94427 1.09013 1.83889 0.710974 0.834453 0.298613
9.81869 1.14346 1.89853 0.745919 0.857295 0.310908
10.7786 1.18666 1.92001 0.77754 0.871976 0.321507
11.8323 1.21701 1.89513 0.805316 0.873849 0.329678
12.9891 1.23962 1.82973 0.830937 0.865868 0.336774
14.2589 1.26532 1.74176 0.855741 0.855011 0.345067
15.6529 1.30625 1.65369 0.877552 0.846228 0.35632
17.1832 1.37039 1.58411 0.889331 0.838007 0.370876
18.863 1.45674 1.54142 0.881201 0.822809 0.387127
20.7071 1.55939 1.52665 0.846803 0.793656 0.403864
22.7315 1.6691 1.53505 0.7877 0.749241 0.42062
24.9538 1.78027 1.56136 0.714575 0.696582 0.438749
27.3934 1.89095 1.60072 0.642402 0.646703 0.459818
30.0714 2.00065 1.64851 0.583683 0.608531 0.484033
33.0113 2.10867 1.70138 0.544639 0.585721 0.50996
36.2385 2.21043 1.75647 0.52405 0.57563 0.534436
39.7813 2.30025 1.81358 0.51599 0.572488 0.554934
43.6704 2.37323 1.87431 0.512943 0.570144 0.570926
47.9397 2.42843 1.9405 0.509019 0.564741 0.584767
52.6264 2.47132 2.01249 0.502374 0.556494 0.60136
57.7713 2.51141 2.08592 0.494986 0.549106 0.626145
63.4192 2.55913 2.15193 0.491467 0.549135 0.663665
69.6192 2.62015 2.19769 0.496593 0.563727 0.716063
76.4253 2.69185 2.2104 0.513592 0.598638 0.782837
83.8969 2.7645 2.18362 0.543656 0.656535 0.861711
92.0988 2.826 2.12191 0.585723 0.735146 0.949471
101.103 2.86765 2.04062 0.637396 0.827534 1.04325
110.987 2.88366 1.95552 0.695157 0.923739 1.1402
121.837 2.86566 1.87145 0.756528 1.01592 1.23771
133.748 2.79489 1.77514 0.820962 1.10124 1.33218
146.824 2.64552 1.64295 0.891174 1.18226 1.41966
161.177 2.39707 1.45793 0.970232 1.26132 1.49497
176.935 2.05403 1.2272 1.05834 1.3359 1.55358
194.232 1.65431 0.983299 1.14894 1.39739 1.59279
213.221 1.25961 0.76806 1.2303 1.43626 1.61461
234.066 0.932009 0.612117 1.29251 1.45138 1.62797
256.948 0.708748 0.526414 1.33762 1.45415 1.64839
282.068 0.596048 0.507822 1.3814 1.46446 1.69346
309.644 0.577959 0.544827 1.44754 1.49861 1.77678
339.916 0.628404 0.619653 1.55335 1.5589 1.90214
373.147 0.712328 0.706958 1.70468 1.63116 2.06529
409.626 0.785738 0.771807 1.88764 1.69265 2.25554
449.672 0.808987 0.78167 2.07784 1.72831 2.46479
493.633 0.763715 0.72189 2.24938 1.74795 2.69133
541.892 0.665773 0.613547 2.40785 1.79079 2.94904
594.869 0.562534 0.5129 2.57317 1.90894 3.24541
653.025 0.501094 0.468972 2.78062 2.1497 3.57554
716.866 0.509195 0.50887 3.03373 2.53054 3.89743
786.949 0.584288 0.63571 3.33205 3.02726 4.16047
863.883 0.682625 0.805693 3.64631 3.56815 4.31705
948.338 0.736664 0.946139 3.93691 4.04493 4.34466
1041.05 0.679724 0.960431 4.14637 4.34887 4.24767
1142.83 0.462905 0.717301 4.29187 4.39208 4.08343
1254.55 0.212328 0.364022 4.3391 4.11532 3.85551
1377.2 0.0459161 0.0848405 4.29583 3.5172 3.56707
1511.84 0.00420859 0.00868247 4.08845 2.63958 3.15498
1659.64 0 0 3.86265 1.92542 2.794
1821.89 0 0 3.64037 1.16644 2.40284
2000
I would like to plot each sample as a scatter(line) on the same graph. X axis would be channel diameter (the rows), and y axis would be the percentage data that's in the columns.
Most things I've tried don't seem to recognize the first column as the x axis value.
Create an empty plot:
plot(x=NA, y=NA, xlim=c(0,1), ylim=c(0,1),
xlab="My X Label", ylab="My Y Label",
main="My Title")
The add your lines one at a time:
for(i in 2:ncol(df)) {
lines(x=df[,1], y=df[,i])
}
This code assumes your data.frame with your data is called df and that you want to plot all columns as y variables except the first column which you treat as your x variable.

Geoviews points: changing colormap with high and low options

I recently looked at this question on manually setting the limits of a holoviews colorbar, but after changing the range on one of my vdims, it didn't change the high and low limits of the colorbar. Is there a way to pass a Bokeh LinearColorMapper (and its options) directly for a particular vdim?
opts = {'plot' : dict(width=width_val, height=height_val, tools=[hover_shipments],
size_index='po_qty',
color_index='magnitude',
size_fn=(lambda x : x/100),
click_policy='hide', colorbar=True),
'style': dict(cmap='Viridis', line_width=0.25, alpha=0.75, fill_alpha=0.75,
muted_alpha=0.05)}
ds_time_store.to(gv.Points,
kdims=['longitude_qty','latitude_qty'],
vdims=['store_num',
'city_nm',
'po_qty',
hv.Dimension('magnitude', range=(0, 50))], label='late').opts({'Points' : opts})
By calling redim(aggregate_rating=dict(range=(0, 5))) on my data set locality_ratings before setting up the Points, I was able to set the boundaries for the colorbar from 0 to 5 as per my ratings.
points = locality_ratings.redim(aggregate_rating=dict(range=(0, 5))).to(gv.Points, ['longitude', 'latitude'],
['aggregate_rating', 'votes', 'cuisine_count', 'average_cost_for_two', 'price_range', 'locality'])
(gts.Wikipedia * points.options(width=700, height=600,
tools=['hover', 'save', 'zoom_in', 'zoom_out', 'pan' , 'wheel_zoom'],
colorbar=True, toolbar='above', xaxis=None, yaxis=None,
size_index=3, color_index=2, size=3, cmap=bokeh.palettes.all_palettes['Dark2'][5])).redim(longitude="Longitude",
latitude="Latitude",
aggregate_rating='Rating',
locality="Locality",
votes="Votes",
price_range="Price Range",
average_cost_for_two="Avg. Cost for 2 (R)",
cuisine_count="No. Cuisines"
)

cut function and controlled frequency in the intervals

My question is pretty simple: the cut() function allows to choose the breaks along which I can divide the range of my vector into intervals. I would like to be able to control for the number of observations within the newly created interval, in a way similar to what could be obtained with a quantile argument in the cut() function call. However I don't want to be using the quantile argument because I would like for the intervals to be chosen fixed, so that I can match them between different databases for further comparison, and I want the same discrete values to be found in the labels of the newly cut vectors.
I used to use this for the quantile approach:
df$z<-cut(df$x, quantile(x, (0:10)/10), include.lowest=TRUE)
Which is fairly simple. My new approach is even simpler, so it resembles this for example:
df$z<-cut(df$x, c(0.04,0.055,0.06,0.065,0.07,0.075,0.08,0.085,0.09,0.095,0.11), include.lowest=T)
I then have another variable which I want to calculate some statistics on, according to the levels of the discrete variable.
So it would go something like this :
df$conf.intx<-ifelse(df$z=="1",t.test(df[df$z=="1",]$y)$conf.int[1],
ifelse(df$z=="2",t.test(df[df$z=="2",]$y)$conf.int[1],
ifelse(df$z=="3",t.test(df[df$z=="3",]$y)$conf.int[1],
ifelse(df$z=="4",t.test(df[df$z=="4",]$y)$conf.int[1],NA))))
But for me to be able to calculate this kind of t-test confidence interval on each of the 'pools' of the y values (which number in the same amount as the observations within the intervals of the discrete variable), I need to be able to control for the number of values within each created interval for z, so that my test remains valid, at least as far as the number of observations is concerned.
Simply put, I'd need an automated procedure that would create the vector of breaks for the z variable so that each of them contains a minimum number of observations. As an added complication, it should be the same breaks for two different databases, which I don't know if it's possible.
Any help on the matter would be welcome, thank you in advance.
EDIT: here is a sample of my data for x.
structure(list(x = c(5.319125, 7.3036667, 5.5166167, 7.0308333,
5.6812917, 6.5496583, 5.6621833, 6.4682, 5.4897417, 7.185175,
6.44905, 7.2055833, 7.629375, 6.2282833, 6.6813917, 7.7976, 6.683975,
5.5089083, 7.307475, 7.3958667, 6.2036583, 6.2488833, 5.9372,
6.6180167, 6.4167833, 5.640275, 8.7416917, 8.3134167, 6.8996833,
5.1161917, 7.0606333, 5.2622667, 6.780925, 5.4615417, 6.48185,
5.51585, 6.2224333, 5.3660667, 7.196525, 6.2984083, 7.0137833,
7.4490083, 5.9712333, 6.4287833, 7.6693917, 6.4406417, 5.4135083,
7.16245, 7.2267, 5.820325, 6.066175, 5.760975, 6.4775, 6.2625,
5.5182583, 8.446625, 8.19025, 6.7955333, 4.7899583, 6.5680167,
4.5965917, 6.3539333, 4.6639, 6.0489667, 4.9047833, 5.353625,
4.711425, 6.6268833, 5.5458083, 6.3271917, 6.4591417, 5.1843917,
5.6117167, 7.1828417, 5.6956917, 5.0271917, 6.741875, 6.68305,
4.7859667, 5.3068667, 5.3245, 5.745675, 5.7518917, 5.37945, 8.0030417,
7.7064583, 6.2935333, 5.1838667, 6.9369333, 4.9734583, 6.7257167,
5.0510333, 6.4257667, 5.2858083, 5.7285167, 5.084, 7.0092833,
5.905875, 6.6893417, 6.8319583, 5.5558083, 5.9854833, 7.5552167,
6.064625, 5.3990333, 7.115175, 7.0600167, 5.1644833, 5.6848667,
5.7014417, 6.1051, 6.1186333, 5.7217667, 8.3685417, 8.071325,
6.6547333, 5.5972417, 7.4226, 5.539725, 7.26335, 5.645975, 6.87475,
5.8486167, 6.3001667, 5.5997833, 7.4353167, 6.5089583, 7.213625,
7.3125667, 6.12095, 6.5410083, 8.0639083, 6.6505167, 5.8886417,
7.6301167, 7.5850417, 5.7693667, 6.2480167, 6.1847167, 6.6896167,
6.6323917, 6.1972167, 8.8560333, 8.5501083, 7.1036167, 4.9929583,
6.9839583, 5.3847417, 6.8814417, 5.59555, 6.7867167, 5.7831333,
6.9370917, 5.7400917, 7.6922, 6.3151, 7.084725, 7.0414417, 5.95435,
6.4274167, 7.6692167, 6.9159, 6.0856083, 7.3079583, 7.1937667,
5.744675, 5.946525, 6.0651833, 6.8488833, 6.5924333, 5.772025,
8.3281167, 8.5475917, 6.7952917, 8.248525, 5.1931083, 7.0688917,
5.4793583, 7.0091583, 5.7593, 7.1053333, 5.9382583, 7.1765417,
6.003075, 7.7699833, 6.2757333, 7.2446583, 7.179275, 6.0013083,
6.447975, 7.7845833, 6.9071083, 6.1009, 7.425425, 7.4619083,
5.9380667, 6.2116, 6.13315, 7.0852, 7.0047417, 6.0763917, 8.5926583,
8.7468417, 7.2485167, 8.5096833, 5.1541, 7.0479917, 5.43065,
6.9689083, 5.7356, 7.0842917, 5.9051667, 7.1283333, 5.9666667,
7.7295583, 6.249925, 7.21005, 7.1427167, 5.9675583, 6.4135667,
7.7448583, 6.874275, 6.0679333, 7.388675, 7.429025, 5.911225,
6.1757167, 6.095225, 7.045775, 6.9870833, 6.0567333, 8.5771167,
8.7541917, 7.3187333, 8.5092083, 5.5746, 7.342925, 5.8561667,
7.4704667, 5.922225, 6.9787, 6.1564167, 7.6059667, 5.9122917,
7.7848833, 6.6192, 7.34055, 7.2352417, 5.9776083, 6.5197583,
7.4891583, 7.2185667, 6.4710167, 7.70945, 7.5078083, 6.1470417,
6.66115, 6.6899333, 7.4454083, 7.2270917, 6.350075, 8.3156667,
8.9007917, 6.7578083, 8.3258083, 5.1996, 6.9688833, 5.3592917,
6.7583417, 5.5623583, 6.756375, 5.7361, 7.120425, 5.6567, 7.6174667,
6.1474833, 7.1442167, 6.74475, 5.5820333, 6.0106, 7.142675, 6.667475,
5.9067917, 7.2392, 7.058675, 5.6394417, 5.9119167, 5.8367333,
6.798025, 6.694675, 5.8565917, 8.6035083, 8.912375, 7.0501083,
8.38045, 4.8478083, 6.7493167, 5.3686667, 6.5152333, 5.282025,
6.5464333, 5.5085583, 6.870975, 5.4757667, 7.318, 5.92225, 6.9300417,
6.5758083, 5.4233083, 5.8295583, 7.0451, 6.4790083, 5.68255,
6.9632833, 6.9965833, 5.5005667, 5.717725, 5.5938083, 6.5309,
6.4824583, 5.4429833, 8.072575, 8.3635, 6.5797167, 8.0352333,
4.6289833, 6.64105, 4.8883833, 6.2025833, 5.2291833, 6.4814667,
5.2211083, 6.5780083, 5.196275, 7.030725, 5.6001583, 6.620475,
6.2858333, 5.114375, 5.5424417, 6.7784917, 6.1561333, 5.339375,
6.6249083, 6.6248583, 5.139775, 5.4195, 5.4531833, 6.3348583,
6.4041417, 5.292, 7.6243833, 7.9624583, 6.3226417, 7.761175,
4.8419083, 6.8384083, 5.3500417, 6.5903333, 5.33275, 6.732575,
5.4486, 6.8069417, 5.4569583, 7.26275, 5.835525, 6.8680333, 6.6712333,
5.4720417, 5.904325, 7.1506917, 6.4746833, 5.638675, 6.9570667,
7.0017333, 5.5033667, 5.6859333, 5.651875, 6.5903, 6.529725,
5.4819667, 7.971975, 8.2337833, 6.5815333, 7.9736583, 5.7711917,
7.543325, 5.8986917, 7.5081333, 6.2920333, 7.5321667, 6.4908917,
7.7616583, 6.4509417, 8.08035, 6.8219, 7.7939167, 7.6491333,
6.4773583, 6.9338667, 8.1865583, 7.3998917, 6.572125, 7.9198417,
8.0568, 6.5880333, 6.8299667, 6.7399833, 7.6436, 7.509275, 6.5139833,
9.1520167, 9.3580667, 7.65415, 9.0725167, 5.7483583, 7.5230417,
5.89105, 7.4808833, 6.1969667, 7.4923583, 6.4092583, 7.70695,
6.3970833, 8.0971333, 6.7949083, 7.76445, 7.6170167, 6.4494333,
6.8997, 8.1575333, 7.3728417, 6.544075, 7.888, 8.0215, 6.5484,
6.7911667, 6.7121917, 7.6179083, 7.4731167, 6.4629167, 9.1226333,
9.3307083, 7.6230583, 9.024875, 5.543925, 7.1460833, 5.6575583,
7.5986083, 6.027075, 7.4386167, 6.3500333, 7.6694833, 6.3682583,
8.0843333, 6.7181083, 7.7376, 7.5818583, 6.4010667, 6.8440083,
8.1217917, 7.3290833, 6.5187333, 7.8591667, 7.9898583, 6.5051,
6.7251167, 6.6881333, 7.477675, 7.3571333, 6.3351833, 8.881575,
9.12315, 7.3851, 8.8008667, 5.3437833, 7.1560417, 5.5748, 7.4622583,
5.9412417, 7.3428667, 6.2594167, 7.5839167, 6.28685, 8.0270917,
6.6388333, 7.6611, 7.50065, 6.3217167, 6.7594417, 8.0401167,
7.252425, 6.444, 7.77975, 7.9104167, 6.42495, 6.6421667, 6.6103333,
7.3489417, 7.23205, 6.2059333, 8.726725, 8.994625, 7.2460917,
8.660125, 5.2502833, 7.2591, 5.6425417, 6.889925, 5.353675, 6.50635,
6.260675, 7.4236583, 5.9076417, 7.3915, 6.2134917, 7.1645333,
6.922675, 6.0295417, 6.1687917, 7.2771083, 6.6152333, 6.3299417,
7.167325, 6.647275, 5.726475, 5.93905, 6.2888583, 6.7497167,
6.4364083, 5.8906583, 7.6052917, 8.039425, 6.5672833, 7.8754667,
6.3086333, 5.352025, 7.2849417, 5.7184833, 6.9675917, 5.5615333,
6.6157917, 6.3505417, 7.4881, 6.0007417, 7.5110583, 6.35525,
7.254075, 7.0289083, 6.1994417, 6.2860833, 7.372575, 6.735975,
6.4628917, 7.3102167, 6.8619417, 5.9123667, 6.1611917, 6.4854083,
6.8942417, 6.563625, 6.0610083, 7.941625, 8.6969167, 6.66075,
8.1197167, 6.2802, 3.9638, 5.870825, 4.1852, 5.5841417, 4.3007583,
5.2352167, 4.4281417, 5.819425, 4.1990917, 5.9338917, 4.89765,
5.7204333, 5.6546833, 4.5632167, 4.9803333, 5.6962417, 5.247725,
4.7092583, 6.0145417, 5.6403917, 4.4016917, 4.7181, 4.5007833,
5.2828917, 5.1314167, 4.7492, 6.777575, 6.9040083, 4.9760583,
6.4471917, 5.0952833, 3.712725, 5.8215333, 4.025725, 5.5635,
4.2354083, 5.143525, 4.4900083, 5.6802417, 4.1214333, 5.8128,
4.7525583, 5.6412583, 5.5534917, 4.487475, 4.8237833, 5.6156917,
5.0573, 4.5755417, 5.8096083, 5.5252083, 4.3145583, 4.5437417,
4.194675, 5.0100833, 4.8972333, 4.590025, 6.6441417, 6.5789417,
4.6947667, 6.1648167, 4.8517333, 3.982925, 5.7966833, 4.1607083,
5.5564833, 4.2557417, 5.2304083, 4.8661333, 5.912875, 4.4988333,
6.03915, 4.9131583, 5.8518667, 5.6578583, 4.773225, 4.8958583,
5.8759833, 5.204725, 4.8961667, 5.9217, 5.58395, 4.5410667, 4.73445,
4.5922333, 5.2517333, 5.0220333, 4.619475, 6.4883667, 6.429175,
4.6796417, 6.3171083, 4.93615, 3.9278833, 5.7590417, 4.1155667,
5.612725, 4.2199833, 5.2126667, 4.805275, 5.8888833, 4.4363,
6.0380083, 4.892, 5.8192083, 5.64205, 4.708825, 4.8751583, 5.833775,
5.2210417, 4.853225, 5.924225, 5.5856583, 4.5386167, 4.7280917,
4.5618, 5.264425, 5.03855, 4.5539, 6.4993, 6.4900667, 4.6749083,
6.2961333, 4.918525, 4.0890583, 6.33385, 4.3470083, 5.9645, 4.6541833,
5.5438667, 4.9556583, 6.1590583, 4.6379417, 6.2876833, 5.2235167,
6.1387167, 6.0547583, 4.9545667, 5.254125, 6.05395, 5.4813417,
4.9971333, 6.2266583, 5.9172833, 4.7275917, 4.9274917, 4.443575,
5.3164917, 5.2507083, 5.1704583, 7.173075, 6.9351583, 5.0816667,
6.5568, 5.3417667, 5.1705167, 7.0777833, 5.6253333, 7.231225,
5.5799167, 6.6942917, 6.1014583, 7.538725, 5.7152667, 7.459275,
6.2406083, 7.064925, 6.9234417, 5.8328833, 6.1819583, 7.2127583,
6.8071583, 6.2599417, 7.2975417, 6.973875, 5.804125, 6.1944667,
6.38855, 7.0553583, 6.8393167, 6.1275417, 7.9986833, 8.5846,
6.4682167, 8.0134583, 6.1805917, 5.0699583, 6.9006667, 5.36365,
6.9204917, 5.4478667, 6.5391583, 6.0647417, 7.2951667, 5.6632833,
7.25595, 6.1057333, 6.9578417, 6.8235583, 5.8671833, 6.0716417,
7.060175, 6.5401, 6.1229417, 7.1305083, 6.7823417, 5.62415, 5.9202,
5.9957167, 6.7142167, 6.4706417, 5.9004667, 7.8304583, 8.2144667,
6.1530583, 7.6896417, 5.9285333, 4.2625417, 5.9677583, 4.58695,
6.0400083, 4.4215333, 5.6052833, 5.04165, 6.48845, 4.6423583,
6.1688833, 5.0256167, 5.926725, 5.7214667, 4.746375, 4.9828,
6.1583083, 5.6903, 5.217375, 6.1341583, 5.7868083, 4.5895333,
4.98235, 5.159725, 5.7866167, 5.6300833, 4.882975, 6.7210833,
7.4314833, 5.2493083, 6.8503833, 5.2225583, 3.8417833, 5.9798,
4.1168583, 5.63415, 4.3311333, 5.0777667, 4.6606833, 5.789425,
4.3565167, 5.9736167, 4.8910667, 5.9445417, 5.699275, 4.6897167,
4.9036083, 5.8767, 5.088675, 4.6224417, 5.8052833, 5.5697167,
4.3237, 4.6084333, 4.2958833, 5.1394417, 5.0137583, 4.7711, 6.771275,
6.5984417, 4.845625, 6.3338083, 5.1370333, 3.1820167, 5.2699667,
3.4827167, 5.0992583, 3.7040583, 4.6358583, 4.1604917, 5.2488333,
3.7522, 5.3774167, 4.2636167, 5.1998167, 5.0456333, 4.051475,
4.289175, 5.1718917, 4.5787083, 4.1461667, 5.2983167, 5.03025,
3.8709333, 4.0917167, 3.731925, 4.5584167, 4.4200333, 4.061375,
6.064225, 6.02975, 4.1590167, 5.6589083, 4.2614833, 3.68695,
5.587375, 3.91725, 5.3387, 4.0061667, 4.9563833, 4.1942, 5.6720583,
3.9584333, 5.6873583, 4.6251, 5.4801417, 5.3975583, 4.2382, 4.6710917,
5.4898083, 5.0469667, 4.4950083, 5.72005, 5.46085, 4.30355, 4.5525917,
4.3681667, 5.1723167, 5.0331417, 4.4793083, 6.5492917, 6.720225,
4.7550917, 6.197775, 4.8082917, 4.09925, 5.986525, 4.3104417,
5.68455, 4.4287167, 5.3555667, 4.5191083, 5.9269833, 4.2695917,
5.9984167, 4.981225, 5.8049917, 5.7680667, 4.5736667, 5.0673583,
5.7443583, 5.2811083, 4.719175, 6.0376667, 5.73875, 4.3947333,
4.8157333, 4.6093417, 5.3906417, 5.2357417, 4.684825, 6.8885583,
7.018425, 5.0878167, 6.5122333, 5.2084, 3.810525, 6.2600083,
3.6246583, 5.7396417, 4.0617917, 5.6724583, 4.2505833, 4.7518417,
4.1232, 6.208375, 4.5881167, 5.252575, 5.71795, 4.0840583, 4.700325,
6.2360333, 4.701725, 3.922525, 5.5162167, 5.6220333, 3.8836833,
4.4883667, 4.5398583)), .Names = "x", row.names = c(NA, -962L
), class = "data.frame")
Assuming I want 30 values per interval (the 'n'), here is the code I used:
df$z<-cut(df$x, seq(30,length(df$x),by=30)/length(df$x), include.lowest=T)
Which gives me:
> table(df$z)
[0.0312,0.0624] (0.0624,0.0936] (0.0936,0.125] (0.125,0.156] (0.156,0.187] (0.187,0.218] (0.218,0.249] (0.249,0.281] (0.281,0.312] (0.312,0.343] (0.343,0.374]
0 0 0 0 0 0 0 0 0 0 0
(0.374,0.405] (0.405,0.437] (0.437,0.468] (0.468,0.499] (0.499,0.53] (0.53,0.561] (0.561,0.593] (0.593,0.624] (0.624,0.655] (0.655,0.686] (0.686,0.717]
0 0 0 0 0 0 0 0 0 0 0
(0.717,0.748] (0.748,0.78] (0.78,0.811] (0.811,0.842] (0.842,0.873] (0.873,0.904] (0.904,0.936] (0.936,0.967] (0.967,0.998]
0 0 0 0 0 0 0 0 0
What I want is a similar result to what I get with quantiles:
df$zbis<-cut(df$x, quantile(df$x, (0:20)/20), include.lowest=T)
table(df$zbis)
[3.18,4.29] (4.29,4.62] (4.62,4.89] (4.89,5.14] (5.14,5.33] (5.33,5.53] (5.53,5.66] (5.66,5.8] (5.8,5.94] (5.94,6.1] (6.1,6.26] (6.26,6.45] (6.45,6.58] (6.58,6.74] (6.74,6.93]
49 48 48 48 48 48 48 48 48 48 48 48 48 48 48
(6.93,7.14] (7.14,7.34] (7.34,7.62] (7.62,8.06] (8.06,9.36]
48 48 48 48 49
Except I'd like this to be reproducible for another database, and so I can't use the quantile function, since I would not get the same intervals on a different database.
SECOND EDIT: here is the second sample from another database. 'x' is the same variable, and they have similar ranges.
structure(list(x = c(5.319125, 7.3036667, 5.5166167, 7.0308333,
5.6812917, 6.5496583, 5.6621833, 6.4682, 5.4897417, 7.185175,
6.44905, 7.2055833, 7.629375, 6.2282833, 6.6813917, 7.7976, 6.683975,
5.5089083, 7.307475, 7.3958667, 6.2036583, 6.2488833, 5.9372,
6.6180167, 6.4167833, 5.640275, 8.7416917, 8.3134167, 6.8996833,
5.1931083, 7.0688917, 5.4793583, 7.0091583, 5.7593, 7.1053333,
5.9382583, 7.1765417, 6.003075, 7.7699833, 6.2757333, 7.2446583,
7.179275, 6.0013083, 6.447975, 7.7845833, 6.9071083, 6.1009,
7.425425, 7.4619083, 5.9380667, 6.2116, 6.13315, 7.0852, 7.0047417,
6.0763917, 8.5926583, 8.7468417, 7.2485167, 8.5096833, 5.177275,
7.09985, 5.6444667, 7.0102417, 5.7303833, 7.0383333, 5.9870583,
7.3342083, 5.9363667, 7.7753333, 6.38355, 7.389575, 7.0396667,
5.889625, 6.29395, 7.51135, 6.940925, 6.1455417, 7.4281833, 7.4657167,
5.9707083, 6.1902083, 6.0936167, 6.9595167, 6.85065, 5.8525,
8.5148083, 8.805625, 7.00665, 8.4457, 5.3437833, 7.1560417, 5.5748,
7.4622583, 5.9412417, 7.3428667, 6.2594167, 7.5839167, 6.28685,
8.0270917, 6.6388333, 7.6611, 7.50065, 6.3217167, 6.7594417,
8.0401167, 7.252425, 6.444, 7.77975, 7.9104167, 6.42495, 6.6421667,
6.6103333, 7.3489417, 7.23205, 6.2059333, 8.726725, 8.994625,
7.2460917, 8.660125, 3.614125, 5.6345917, 3.9410417, 5.2901417,
4.0147333, 4.766825, 4.4500417, 5.5189, 4.11375, 5.6350667, 4.5756917,
5.5998833, 5.3663, 4.44405, 4.5767417, 5.552025, 4.847425, 4.4382583,
5.5769417, 5.2390667, 4.0610917, 4.4054833, 4.1917, 4.9029083,
4.6935917, 4.3499417, 6.0562333, 6.081225, 4.45855, 6.0121583,
4.740275, 4.5028, 6.4177833, 4.8716417, 6.1469917, 4.6208917,
5.7748083, 5.4530083, 6.694125, 5.0944333, 6.5123167, 5.3257083,
6.2765333, 6.0149167, 5.1815583, 5.30715, 6.4149083, 5.82245,
5.515425, 6.3654333, 5.8472833, 4.9798917, 5.1833583, 5.5210333,
6.0410667, 5.7377917, 5.2666083, 7.0378167, 7.744175, 5.718725,
7.3220583, 5.24325, 5.3256, 7.2155167, 5.696925, 7.0029667, 5.5235,
6.7261083, 6.2810667, 7.546825, 5.90915, 7.3299167, 6.2227333,
7.147075, 6.9142417, 6.0012083, 6.1725333, 7.29815, 6.7, 6.3454583,
7.2129583, 6.7559833, 5.8115, 6.0756667, 6.458225, 6.9969167,
6.778825, 6.2245833, 8.0809583, 8.875325, 6.7210917, 8.3203,
6.3513, 5.2591333, 7.1404917, 5.6266417, 6.9356, 5.4568, 6.6604,
6.206025, 7.48525, 5.8323667, 7.24635, 6.1446583, 7.066275, 6.8334,
5.9198667, 6.09505, 7.2206583, 6.63085, 6.270075, 7.1397333,
6.689125, 5.7441333, 6.042575, 6.38255, 6.9325833, 6.7175667,
6.1592, 8.00415, 8.8051167, 6.647125, 8.2465667, 6.2788167, 6.49435,
8.1847583, 6.664475, 8.0528583, 6.6822417, 7.376, 7.1517833,
8.2306833, 6.8584583, 8.3052167, 7.288375, 8.2758583, 7.7162583,
7.2807833, 7.0459, 8.2507833, 7.5855, 7.0505917, 8.2230167, 8.1669,
6.8184667, 6.9700583, 7.0936167, 7.7615667, 7.6239083, 7.0921667,
9.02585, 9.3416167, 7.6256333, 9.0869333, 8.0984667, 4.116325,
6.1680917, 4.56965, 5.797725, 4.36085, 5.42455, 5.144075, 6.1531833,
4.77825, 6.2533417, 5.0192083, 5.99395, 5.6934083, 4.9074167,
4.9823083, 5.9861667, 5.4068833, 5.1872833, 6.10095, 5.659325,
4.6632833, 4.86315, 5.221775, 5.5878, 5.3217083, 4.8202333, 6.4883083,
6.69355, 4.952075, 6.7075583, 5.00015, 5.2502833, 7.2591, 5.6425417,
6.889925, 5.353675, 6.50635, 6.260675, 7.4236583, 5.9076417,
7.3915, 6.2134917, 7.1645333, 6.922675, 6.0295417, 6.1687917,
7.2771083, 6.6152333, 6.3299417, 7.167325, 6.647275, 5.726475,
5.93905, 6.2888583, 6.7497167, 6.4364083, 5.8906583, 7.6052917,
8.039425, 6.5672833, 7.8754667, 6.3086333, 5.352025, 7.2849417,
5.7184833, 6.9675917, 5.5615333, 6.6157917, 6.3505417, 7.4881,
6.0007417, 7.5110583, 6.35525, 7.254075, 7.0289083, 6.1994417,
6.2860833, 7.372575, 6.735975, 6.4628917, 7.3102167, 6.8619417,
5.9123667, 6.1611917, 6.4854083, 6.8942417, 6.563625, 6.0610083,
7.941625, 8.6969167, 6.66075, 8.1197167, 6.2802, 3.9638, 5.870825,
4.1852, 5.5841417, 4.3007583, 5.2352167, 4.4281417, 5.819425,
4.1990917, 5.9338917, 4.89765, 5.7204333, 5.6546833, 4.5632167,
4.9803333, 5.6962417, 5.247725, 4.7092583, 6.0145417, 5.6403917,
4.4016917, 4.7181, 4.5007833, 5.2828917, 5.1314167, 4.7492, 6.777575,
6.9040083, 4.9760583, 6.4471917, 5.0952833, 3.712725, 5.8215333,
4.025725, 5.5635, 4.2354083, 5.143525, 4.4900083, 5.6802417,
4.1214333, 5.8128, 4.7525583, 5.6412583, 5.5534917, 4.487475,
4.8237833, 5.6156917, 5.0573, 4.5755417, 5.8096083, 5.5252083,
4.3145583, 4.5437417, 4.194675, 5.0100833, 4.8972333, 4.590025,
6.6441417, 6.5789417, 4.6947667, 6.1648167, 4.8517333, 4.1059833,
5.9023167, 4.2812417, 5.6593917, 4.3587583, 5.3359583, 4.983275,
6.0223417, 4.6178333, 6.1545333, 5.0244667, 5.9596, 5.7608833,
4.8875333, 4.9990583, 5.9919333, 5.3157417, 5.0169333, 6.024775,
5.6717167, 4.6372083, 4.8370583, 4.7311333, 5.3704, 5.133575,
4.7174917)), .Names = "x", row.names = c(NA, -455L), class = "data.frame")
Updated after some comments:
Since you state that the minimum number of cases in each group would be fine for you, I'd go with Hmisc::cut2
v <- rnorm(10, 0, 1)
Hmisc::cut2(v, m = 3) # minimum of 3 cases per group
The documentation for cut2 states:
m desired minimum number of observations in a group.
The algorithm does not guarantee that all groups will have at least m observations.
The same cuts for separate variables
If the distributions of your variables are very similar you could extract the exact cutpoints by setting the argument onlycuts = T and reuse them for the other variables. In case the distributions are different though, you will end up with few cases in some intervals.
Using your data:
library(magrittr)
library(Hmisc)
cuts <- cut2(df1$x, g = 20, onlycuts = T) # determine cuts based on df1
cut2(df1$x, cuts = cuts) %>% table
cut2(df2$x, cuts = cuts) %>% table*2 # multiplied by two for better comparison
This is a good example of how NOT to pose a question. At last we have an example an, it is possible to post code that applies to it. (You apparently naively pasted the exact code in my comment without thinking about how to express 'n' and 'N' in the context of the problem. I did need to add prob=c( seq(...) , 1) in order to capture the highest values.
This assumes that you want groups of size 100 (although it is still very unclear why this is needed).
x$xct <- cut( x$x, breaks=quantile(x$x, prob=c( seq(100, length(x$x), by=100)/length(x$x) , 1) ))
table(x$xct)
(4.64,5.17] (5.17,5.57] (5.57,5.85] (5.85,6.17] (6.17,6.51] (6.51,6.85]
100 100 100 100 100 100
(6.85,7.26] (7.26,7.94] (7.94,9.36]
100 100 62

Getting graphical spikes in ggplot2

I'm trying to plot a simple graph that show the increase in wealth for two different investment strategies. When using the standard graph from R it works, but when I try to use ggplot2 I get these weird spikes in the lines.
Does any have any idea what could be causing this?
I've tried to simply the code as much as possible:
For the standard graph
ind.ts = ts(cbind(ind.passive,ind.active), start=c(insample.endstart,1),frequency=12)
plot(log(ind.ts),type="lines", col=c("blue","red"))
legend(x="topleft", legend=c("Passive","Active"), col=c("blue","red"), lty=1)
For the ggplot graph
testers=data.frame(ind.ts)
ggplot(testers, aes(date)) +
geom_line(aes(y = log(ind.passive), colour = "Passive",size="1")) +
geom_line(aes(y = log(ind.active), colour = "Active",size="1"))
The Ind.ts data set
structure(c(1, 1.026669, 1.066102329621, 1.09764083483818, 1.13073909657189,
1.17422279926966, 1.201650295415, 1.24229131005623, 1.24436842112664,
1.29675757602449, 1.29281154272065, 1.34840890311535, 1.37447769243928,
1.42187380670767, 1.43432089001159, 1.44828830683852, 1.47037760009442,
1.50663270057995, 1.51269991046518, 1.44617893190248, 1.47609892782461,
1.55880475075062, 1.60230787373457, 1.72267003659376, 1.6884336922865,
1.7947931958647, 1.80827747714523, 1.73407842742553, 1.83823238001199,
1.94879470474019, 2.03637158997651, 2.19836698633073, 2.07500122615881,
2.18823196806907, 2.11573803119891, 2.21303659177769, 2.25083083069207,
2.27667036862841, 2.44006700098487, 2.56495939036328, 2.59127330874902,
2.54554769994283, 2.64902166839781, 2.62135793511473, 2.24229384954953,
2.38534322797539, 2.58003017155629, 2.73574015247005, 2.89313822640227,
3.01496249083961, 2.92082933195062, 3.03735873897812, 3.15584610338566,
3.08028252428619, 3.25121048184135, 3.15027015001163, 3.13383204036887,
3.04763285626648, 3.24152630621501, 3.30661615444381, 3.5011906754359,
3.32628169286315, 3.26271977599422, 3.58162126961968, 3.47465973202375,
3.4018482373392, 3.48660188432426, 3.43296051433394, 3.64465402445034,
3.45302176049876, 3.43920276741325, 3.16710336206381, 3.18321124976327,
3.29673729577483, 2.9957319937214, 2.80662641161774, 3.02543381329387,
3.04403720581181, 2.97111425050939, 2.94227958670819, 2.75683358891715,
2.53472102032527, 2.58379068455775, 2.78122846592754, 2.80549468429276,
2.76500859050373, 2.71079783207832, 2.81360212906206, 2.64401226073284,
2.62324090041252, 2.43641368348514, 2.24723834303094, 2.26148583412576,
2.01595857860056, 2.19346574740491, 2.32192606890168, 2.18514140418268,
2.12856372294559, 2.09571359900937, 2.1165869064555, 2.29149953181808,
2.41150994529845, 2.44221328992199, 2.48518647497146, 2.53301388868229,
2.50620193667058, 2.64742390960003, 2.6698343529948, 2.80897010046677,
2.86115795596334, 2.89979789415863, 2.85611823847891, 2.81197121886675,
2.84980347964538, 2.90496997540435, 2.80930350417434, 2.81972040156782,
2.85016210302314, 2.89418855702854, 3.00999951213804, 3.11183381563269,
3.03729294841303, 3.09892873421517, 3.04396923311387, 2.98710484387007,
3.08097760069353, 3.08499827646243, 3.20047593194697, 3.16912086924169,
3.19575099190593, 3.14371138275373, 3.25904157854143, 3.26071346687123,
3.3485896948034, 3.35499219829987, 3.3971510302637, 3.44342702159796,
3.34200432210381, 3.3473849490624, 3.36955802696499, 3.4464479715823,
3.53637269205683, 3.65311189099431, 3.71864871831875, 3.7710110109214,
3.82954087282191, 3.75144504580245, 3.79450413203817, 3.96444479409563,
4.09921609487092, 4.03197255405065, 3.90887240000293, 3.96507025849778,
4.11298323942078, 4.18000430130714, 4.00202389816178, 3.973681564915,
3.73688988046171, 3.6132997214452, 3.59812747591486, 3.77562310430174,
3.82238042082541, 3.50029900180582, 3.47233161278139, 3.52122551422096,
3.20811814149644, 2.67119786498117, 2.47785656351383, 2.50381211101664,
2.29590056094204, 2.04999813136234, 2.23149881591877, 2.44744541933286,
2.58359925545577, 2.59022877114527, 2.78828284344458, 2.88774646903593,
2.99667515359443, 2.94310059519847, 3.1174675330616, 3.17829867703423,
3.06610473373492, 3.15882374088307, 3.34981254190434, 3.40448483240076,
3.13064849939144, 2.96722864772321, 3.17659630110655, 3.0311907820197,
3.30193068028814, 3.42901538831107, 3.42659107443153, 3.65581631094671,
3.74411158648869, 1, 1.026669, 1.066102329621, 1.09764083483818,
1.13073909657189, 1.17422279926966, 1.201650295415, 1.24229131005623,
1.24436842112664, 1.29675757602449, 1.29281154272065, 1.34840890311535,
1.37447769243928, 1.42187380670767, 1.43432089001159, 1.44828830683852,
1.47037760009442, 1.50663270057995, 1.51269991046518, 1.44617893190248,
1.47609892782461, 1.55880475075062, 1.60230787373457, 1.72267003659376,
1.6884336922865, 1.7947931958647, 1.80827747714523, 1.73407842742553,
1.83823238001199, 1.94879470474019, 2.03637158997651, 2.19836698633073,
2.07500122615881, 2.18823196806907, 2.11573803119891, 2.21303659177769,
2.25083083069207, 2.27667036862841, 2.44006700098487, 2.56495939036328,
2.59127330874902, 2.54554769994283, 2.64902166839781, 2.62135793511473,
2.24229384954953, 2.2509042579318, 2.25833224198298, 2.39462710945113,
2.53239958556629, 2.63903386731532, 2.55663795191, 2.6586375796394,
2.76235103162114, 2.69620929852, 2.84582464870417, 2.75747033083585,
2.74308185064955, 2.66763064126559, 2.83734797029354, 2.89432191753704,
3.06463539645259, 2.91153540595201, 2.85589887587967, 3.13503728790702,
3.04141253434097, 2.97767973468385, 3.05186564759377, 3.00491269460554,
3.19021063591839, 3.02247255089243, 3.01037661574376, 3.02584995154869,
3.04040428981563, 3.05344762421894, 3.06587515604951, 3.07715757662378,
3.08709679559627, 3.09641982791897, 3.10543040961822, 3.1145293207184,
3.12325000281641, 3.13012115282261, 3.13575537089769, 3.14064714927629,
3.14507546175677, 3.14941566589399, 3.15395082445288, 3.15865021118131,
2.96826256970236, 2.97253686780273, 2.97675787015501, 2.98092533117323,
2.98494958037031, 2.98900911179961, 2.99295460382719, 2.99603734706913,
2.99900342404273, 3.00194244739829, 3.00488435099674, 3.00770894228668,
3.01053618869243, 3.16820398996663, 3.20854156316688, 3.26499906051237,
3.32783396743193, 3.29260884488666, 3.47814406068718, 3.5075865501609,
3.69038091563598, 3.75894450266758, 3.80970904817611, 3.75232340078343,
3.69432373797752, 3.74402716954827, 3.81650404749639, 3.69081893620424,
3.70450449281968, 3.74449832332416, 3.80233958892455, 3.95449020757537,
4.08827852027806, 3.99034789660332, 4.07132402646909, 3.99911909485966,
3.92441155104859, 4.04774010845184, 4.05302240929337, 4.20473514411804,
4.16354135391111, 4.19852759190803, 4.1301587686014, 4.28167777318631,
4.28387427388395, 4.39932468556512, 4.40773619436392, 4.4631238073823,
4.52392047988646, 4.39067292607189, 4.39774190948286, 4.42687255189128,
4.52788935665288, 4.64603104574667, 4.79940117659781, 4.88550243370598,
4.95429519347499, 5.03119080917292, 4.92858973500145, 4.9851600879798,
5.20842546768007, 5.38548589145385, 5.29714238089044, 5.13541532685947,
5.20924719301373, 5.40357295030192, 5.49162417152709, 5.25779630592764,
5.22056059248906, 4.90946738678263, 4.91815714405724, 4.9233212090585,
4.92863839596428, 4.93573563525447, 4.94338602548911, 4.95010903048378,
4.95718768639737, 4.96184744282258, 4.96462607739057, 4.96542041756295,
4.96556938017547, 4.96611559280729, 4.9673571217055, 4.9682512459874,
4.96889711864938, 4.96964245321718, 4.97038789958516, 4.9711334577701,
5.14846373047568, 5.34266893085295, 5.24715269570716, 5.55802550431702,
5.66647925598276, 5.46645253824657, 5.63175806300315, 5.97226541900844,
6.06973876291208, 5.58152539525601, 5.29016976962365, 5.2908574916937,
5.04867378086891, 5.04933010846042, 5.24366872567485, 5.2399614518858,
5.59049391317115, 5.72551552216206), .Dim = c(194L, 2L), .Dimnames = list(
NULL, c("ind.passive", "ind.active")), .Tsp = c(1995, 2011.08333333333,
12), class = c("mts", "ts", "matrix"))
The date data set
structure(c(1995.1, 1995.2, 1995.3, 1995.4, 1995.5, 1995.6, 1995.7,
1995.8, 1995.9, 1995.1, 1995.11, 1995.12, 1996.1, 1996.2, 1996.3,
1996.4, 1996.5, 1996.6, 1996.7, 1996.8, 1996.9, 1996.1, 1996.11,
1996.12, 1997.1, 1997.2, 1997.3, 1997.4, 1997.5, 1997.6, 1997.7,
1997.8, 1997.9, 1997.1, 1997.11, 1997.12, 1998.1, 1998.2, 1998.3,
1998.4, 1998.5, 1998.6, 1998.7, 1998.8, 1998.9, 1998.1, 1998.11,
1998.12, 1999.1, 1999.2, 1999.3, 1999.4, 1999.5, 1999.6, 1999.7,
1999.8, 1999.9, 1999.1, 1999.11, 1999.12, 2000.1, 2000.2, 2000.3,
2000.4, 2000.5, 2000.6, 2000.7, 2000.8, 2000.9, 2000.1, 2000.11,
2000.12, 2001.1, 2001.2, 2001.3, 2001.4, 2001.5, 2001.6, 2001.7,
2001.8, 2001.9, 2001.1, 2001.11, 2001.12, 2002.1, 2002.2, 2002.3,
2002.4, 2002.5, 2002.6, 2002.7, 2002.8, 2002.9, 2002.1, 2002.11,
2002.12, 2003.1, 2003.2, 2003.3, 2003.4, 2003.5, 2003.6, 2003.7,
2003.8, 2003.9, 2003.1, 2003.11, 2003.12, 2004.1, 2004.2, 2004.3,
2004.4, 2004.5, 2004.6, 2004.7, 2004.8, 2004.9, 2004.1, 2004.11,
2004.12, 2005.1, 2005.2, 2005.3, 2005.4, 2005.5, 2005.6, 2005.7,
2005.8, 2005.9, 2005.1, 2005.11, 2005.12, 2006.1, 2006.2, 2006.3,
2006.4, 2006.5, 2006.6, 2006.7, 2006.8, 2006.9, 2006.1, 2006.11,
2006.12, 2007.1, 2007.2, 2007.3, 2007.4, 2007.5, 2007.6, 2007.7,
2007.8, 2007.9, 2007.1, 2007.11, 2007.12, 2008.1, 2008.2, 2008.3,
2008.4, 2008.5, 2008.6, 2008.7, 2008.8, 2008.9, 2008.1, 2008.11,
2008.12, 2009.1, 2009.2, 2009.3, 2009.4, 2009.5, 2009.6, 2009.7,
2009.8, 2009.9, 2009.1, 2009.11, 2009.12, 2010.1, 2010.2, 2010.3,
2010.4, 2010.5, 2010.6, 2010.7, 2010.8, 2010.9, 2010.1, 2010.11,
2010.12, 2011.1, 2011.2), .Tsp = c(1995, 2011.08333333333, 12
), class = "ts")
The spikes are in your data, specifically in the crummy way the dates are stored. January, February, March 1995 are coded as 1995.10, 1995.20, 1995.30, but then October, November, and December are 1995.10, 1995.11, 1995.12. When you pass your time series to ggplot you maybe saw a warning like:
Don't know how to automatically pick scale for object of type ts. Defaulting to continuous
So ggplot just converted to numerics, giving October the same x value as January and inserting Nov and Dec before February, causing your spikes. Since your samples (as far as I checked) are spaced every month, you could add a new column to your data like this:
ind.df <- as.data.frame(ind.ts)
ind.df$date <- seq(as.Date('1995-01-01'), as.Date('2011-02-01'), by = "month")
Then, ggplot works best with long-format data, so we can melt it
library(reshape2)
ind.melt <- melt(ind.df, id.vars = "date")
ggplot(ind.melt, aes(x = date, y = value, color = variable) +
geom_line(size = 1)
And the spikes are gone.
One other note, in ggplot don't put anything inside aes() that isn't mapping to a data column. In your post, inside aes() you have size = "1". You don't need the quotes around 1, and since it applies to the whole layer you should put it outside of aes().
The following example illustrates that for a very simple example, the plots from the basic R plotting and ggplot2 are the same, i.e. basic plotting does not get rid of the spikes, nor does ggplot2 introduces spikes. You need to make your example more complete, i.e. provide us with a sample of your data that reproduces the issue you see.
x = 1:100
y = runif(100)
y[50] = 5
plot(x, y)
library(ggplot2)
qplot(x, y, geom = 'line')

Why colors did not appear in Key of heatmap.2()

I have a data that looks like this:
SC_LT34F_BM SC_LTSL_BM SC_STSL_BM SC_LTSL_FL SC_STSL_FL SC_MPP34F_BM SC_ST34F_BM SC_CMP_BM SC_MEP_BM SC_GMP_BM SC_CDP_BM SC_MDP_BM MLP_BM MLP_FL proB_CLP_BM proB_FrA_BM proB_FrBC_BM preB_FrC_BM preB_FrD_BM B_FrE_BM proB_CLP_FL proB_FrA_FL proB_FrBC_FL preB_FrD_FL B_FrE_FL B_T1_Sp B_T2_Sp B_T3_Sp B_Fo_Sp B_GC_Sp B_MZ_Sp B1a_Sp B_FrF_BM B_Fo_MLN B_Fo_LN B_Fo_PC B1b_PC B1a_PC DC_8-_Th DC_8+_Th DC_4+_Sp DC_8+_Sp DC_8-4-11b-_Sp DC_8-4-11b+_Sp DC_pDC_8-_Sp DC_pDC_8+_Sp DC_4+_SLN DC_8+_SLN DC_8-4-11b-_SLN DC_8-4-11b+_SLN DC_pDC_8+_SLN DC_IIhilang-103-11blo_SLN DC_IIhilang-103-11b+_SLN DC_IIhilang+103+11blo_SLN DC_IIhilang+103-11b+_SLN DC_4+_MLN DC_8+_MLN DC_8-4-11b-_MLN DC_8-4-11b+_MLN DC_pDC_8+_MLN DC_LC_Sk DC_103-11b+_Lv DC_103+11b-_Lv DC_103+11b-_LuLN DC_103-11b+_LuLN DC_103-11b+24+_Lu DC_103+11b-_Lu DC_103-11b+_PolyIC_Lu DC_103+11b-_PolyIC_Lu DC_103-11b+F4/80lo_Kd DC_103+11b-_SI DC_103+11b+_SI DC_103+11b-_Salm3_SI DC_103+11b+_Salm3_SI MF_BM MF_RP_Sp MF_Lu MF_103-11b+24-_Lu MF_II+480lo_PC MF_103-11b+_SI MF_11cloSer_SI MF_103-11b+_Salm3_SI MF_11cloSer_Salm3_SI MF_II-480hi_PC MF_Microglia_CNS MF_Thio5_II+480int_PC MF_Thio5_II-480int_PC MF_Thio5_II-480hi_PC MF_Thio5_II+480lo_PC Mo_6C+II-_BM Mo_6C-II-_BM Mo_6C+II-_Bl Mo_6C+II+_Bl Mo_6C-II-_Bl Mo_6C-II+_Bl Mo_6C-IIint_Bl Mo_6C+II-_LN GN_BM GN_Bl GN_Arth_BM GN_Arth_SynF GN_UrAc_PC GN_Thio_PC NK_Sp NK_49CI-_Sp NK_49CI+_Sp NK_49H-_Sp NK_49H+_Sp NK_MCMV1_Sp NK_MCMV7_Sp NK_H+_MCMV1_Sp NK_H+_MCMV7_Sp NK_b2m-_Sp NK_DAP10-_Sp NK_DAP12-_Sp preT_ETP_Th preT_ETP-2A_Th preT_DN2_Th preT_DN2A_Th preT_DN2B_Th preT_DN2-3_Th preT_DN3A_Th preT_DN3B_Th preT_DN3-4_Th T_DN4_Th T_ISP_Th T_DP_Th T_DPbl_Th T_DPsm_Th T_DP69+_Th T_4+8int_Th T_4SP69+_Th T_4SP24int_Th T_4SP24-_Th T_4int8+_Th T_8SP69+_Th T_8SP24int_Th T_8SP24-_Th T_4Nve_Sp T_4Mem_Sp T_4Mem44h62l_Sp T_4Nve_LN T_4Mem_LN T_4Mem44h62l_LN T_4Nve_PP T_4Nve_MLN T_4_LN_BDC T_4_PLN_BDC T_4_Pa_BDC T_4FP3-_Sp T_4FP3+25+_Sp T_4FP3+25+_AA T_4FP3+25+_LN T_8Nve_Sp T_8Mem_Sp T_8Nve_LN T_8Mem_LN T_8Nve_PP T_8Nve_MLN T_8Nve_Sp_OT1 T_8Eff_Sp_OT1_d5_VSVOva T_8Eff_Sp_OT1_d6_VSVOva T_8Eff_Sp_OT1_d8_VSVOva T_8Eff_Sp_OT1_d15_VSVOva T_8Mem_Sp_OT1_d45_VSVOva T_8Mem_Sp_OT1_d106_VSVOva T_8Eff_Sp_OT1_12hr_LisOva T_8Eff_Sp_OT1_24hr_LisOva T_8Eff_Sp_OT1_48hr_LisOva T_8Eff_Sp_OT1_d6_LisOva T_8Eff_Sp_OT1_d8_LisOva T_8Eff_Sp_OT1_d10_LisOva T_8Eff_Sp_OT1_d15_LisOva T_8Mem_Sp_OT1_d45_LisOva T_8Mem_Sp_OT1_d100_LisOva NKT_44-NK1_1-_Th NKT_44+NK1_1-_Th NKT_44+NK1_1+_Th NKT_4+_Sp NKT_4-_Sp NKT_4+_Lv NKT_4-_Lv Tgd_Th Tgd_vg1+vd6-24ahi_Th Tgd_vg1+vd6+24ahi_Th Tgd_vg2+24ahi_Th Tgd_vg2+24ahi_e17_Th Tgd_vg3+24ahi_e17_Th Tgd_vg5+24ahi_Th Tgd_vg1+vd6-24alo_Th Tgd_vg1+vd6+24alo_Th Tgd_vg2+24alo_Th Tgd_vg3+24alo_e17_Th Tgd_Sp Tgd_vg2-_Sp Tgd_vg2-_act_Sp Tgd_vg2+_Sp Tgd_vg2+_act_Sp Tgd_vg2-_Sp_TCRbko Tgd_vg2+_Sp_TCRbko Tgd_vg5-_IEL Tgd_vg5+_IEL Tgd_vg5-_act_IEL Tgd_vg5+_act_IEL Ep_MEChi_Th Fi_MTS15+_Th Fi_Sk FRC_MLN FRC_SLN LEC_MLN LEC_SLN BEC_MLN BEC_SLN St_31-38-44-_SLN
1415806_at Plat 27.9185 36.5107 33.0332 30.6177 29.9747 28.8708 30.3841 37.5277 30.5361 32.6895 29.4836 27.9885 29.4244 26.5173 35.0402 31.544 30.9292 29.8665 35.6304 33.0442 26.7101 28.2309 30.9805 28.6152 31.8907 32.0462 34.8866 33.0858 35.7239 35.2472 34.3717 29.8923 39.6809 41.3769 42.2323 39.081 33.5901 35.0953 30.3213 27.7287 34.1493 37.4285 32.0074 39.7632 33.5368 30.3562 45.2669 40.6258 195.136 103.185 39.0732 80.0762 153.337 365.59 78.3391 39.9067 44.3187 56.1457 33.6093 41.5659 366.436 40.771 32.906 150.567 55.6916 105.192 44.2745 185.212 76.1094 28.6436 36.086 68.2284 39.585 119.956 26.9137 38.7293 33.0461 60.3476 28.3998 34.0431 32.9896 65.296 59.0182 28.654 40.783 33.7108 29.0525 29.3948 31.408 31.5986 35.9317 31.184 29.0688 34.2658 33.5081 32.2015 35.6911 41.8463 44.3161 38.3131 51.4425 51.4854 42.5922 40.787 39.072 34.6637 33.343 33.0619 36.7676 37.9347 31.0312 35.6631 35.7623 37.7508 33.1229 33.6179 41.1347 32.8821 35.5274 34.5783 29.3629 37.1282 32.6213 29.7352 31.6801 30.03 37.6091 37.3695 35.7894 39.4483 42.3723 41.7823 31.979 33.1111 34.9302 36.7907 34.9848 32.0475 41.4716 37.722 35.7637 43.4169 40.778 34.4366 47.119 41.7399 46.3535 30.093 31.4636 41.9103 46.1681 37.7144 34.474 42.1673 47.1553 37.3054 49.77 40.0073 33.6125 34.3092 38.0424 42.9508 39.9314 55.4645 36.0474 50.1869 38.7767 32.3656 31.0418 27.0207 30.6182 33.8824 42.901 32.0133 39.7088 37.3634 33.07 33.4334 43.9524 35.59 37.7714 42.626 33.3944 33.1647 31.626 39.8802 28.3281 40.7664 34.782 34.9716 31.0598 43.7914 32.7444 35.9125 38.8265 38.2612 32.2323 40.2928 36.7945 34.991 37.4216 40.4704 39.3888 30.0384 105.793 2526.44 640.249 242.364 131.67 1064.84 1056.81 208.29 157.891 271.912
1415899_at Junb 104.359 116.588 117.664 113.224 66.2672 86.464 81.6396 76.6304 100.614 116.538 118.284 129.816 101.239 89.2805 99.7887 125.883 112.003 99.5811 118.3 178.751 87.5629 70.5608 120.18 101.577 137.816 123.722 125.728 168.945 138.178 153.402 104.895 175.298 137.421 113.447 117.66 129.752 143.541 146.186 428.249 412.473 385.435 339.74 473.701 507.498 220.07 194.76 667.376 488.267 354.873 635.98 193.976 507.981 667.498 442.459 449.715 639.196 574.944 542.865 687.359 150.271 889.725 1169.58 459.569 374.314 461.532 1206.02 675.481 1130.99 849.501 280.516 979.627 1324.66 671.702 1053.9 152.166 350.176 337.302 826.052 513.71 1469.49 1517.93 1238.98 1257.99 330.983 1478.1 238.873 212.152 208.743 405.299 236.767 278.17 341.064 345.308 281.135 393.439 302.634 682.04 325.536 960.248 321.11 1291.57 883.89 885.596 219.172 175.986 216.132 278.688 295.721 275.892 215.793 299.334 331.465 185.401 220.586 204.986 456.516 378.278 226.349 454.313 425.804 232.92 146.899 110.746 112.351 125.992 103.248 150.85 94.4725 135.077 229.705 165.416 223.929 232.708 195.205 142.457 182.395 144.899 202.909 193.86 205.682 570.849 231.047 194.275 441.833 382.466 210.373 192.348 221.835 248.175 209.08 276.048 1647.57 249.185 263.404 191.867 211.169 157.855 283.887 155.999 156.376 168.494 222.407 175.15 175.776 180.29 216.886 284.49 206.288 178.744 188.286 163.138 180.242 205.278 286.698 151.971 255.359 293.267 662.865 772.192 520.293 706.199 559.661 146.378 177.677 180.272 144.715 107.154 135.916 149.646 251.437 214.44 328.079 189.697 166.164 252.097 254.642 277.984 260.566 294.951 244.528 709.615 765.502 148.709 310.161 404.302 1408.72 1158.08 1199.58 1694.65 812.419 1004.32 950.417 1083.41 1061.59
..(more)...
With the following code:
library(gplots);
library(RColorBrewer);
dat <- read.table("http://pastebin.com/raw.php?i=wM7WxEvY",sep="\t",na.strings="NA",header=TRUE)
dat <- dat[complete.cases(dat),]
dat.log <- log2(dat);
# Clustering and distance function
hclustfunc <- function(x) hclust(x, method="ward")
distfunc <- function(x) dist(x,method="maximum")
nofval <- length(unique(as.vector(as.matrix(dat.log))));
hmcols <- rev(redblue(nofval));
pdf(file="temp.pdf",width=50,height=40);
heatmap.2(as.matrix(dat.log),Colv=FALSE,lhei = c(0.25,4),density.info="none",scale="none",margin=c(10,10),col=hmcols,symkey=F,trace="none",dendrogram="row",keysize=0.3,hclust=hclustfunc,distfun=distfunc);
dev.off();
It produces this image:
Note that at the top left the colors of KEY did not appear at all.
What's the problem with my code above?
How can I correct it?
The colours are being parsed at very high resolution. You have assigned a colour gradient to every value in your matrix, total of 17410. Try decreasing the colour gradient to 128 or 256: col=bluered(256).
Alternatively, increase the key size keysize=1 to display the higher colour gradient.

Resources