useRs, Here is some R-ready data for my question to follow. Of course this data is small snippet from a much larger dataset that is about a decade long.
Q<-read.table(textConnection("2002 3 28 15 77.38815 2002 3 28 30 77.09505 2002 3 28 45 76.80196 2002 3 28 60 76.50887 2002 3 28 75 76.50887 2002 3 28 90 76.50887 2002 3 28 105 76.50887 2002 3 28 120 76.50887 2002 3 28 135 76.80196 2002 3 28 150 77.09506 2002 3 28 165 77.38815 2002 3 28 180 77.68125 2002 3 28 195 77.68125 2002 3 28 210 77.68125 2002 3 28 225 77.68125 2002 3 28 240 77.68125 2002 3 28 255 77.38815 2002 3 28 270 77.09505 2002 3 28 285 76.80196 2002 3 28 300 76.50887 2002 3 28 315 76.80196 2002 3 28 330 77.09506 2002 3 28 345 77.38815 2002 3 28 360 77.68125 2002 3 28 375 77.68125 2002 3 28 390 77.68125 2002 3 28 405 77.68125 2002 3 28 420 77.68125 2002 3 28 435 77.68125 2002 3 28 450 77.68125 2002 3 28 465 77.68125 2002 3 28 480 77.68125 2002 3 28 495 77.97691 2002 3 28 510 78.27258 2002 3 28 525 78.56824 2002 3 28 540 78.86389 2002 3 28 555 78.86389 2002 3 28 570 78.86389 2002 3 28 585 78.86389 2002 3 28 600 78.86389 2002 3 28 615 78.86389 2002 3 28 630 78.86389 2002 3 28 645 78.86389 2002 3 28 660 78.86389 2002 3 28 675 78.86389 2002 3 28 690 78.86389 2002 3 28 705 78.86389 2002 3 28 720 78.86389 2002 3 28 735 79.16212 2002 3 28 750 79.46034 2002 3 28 765 79.75856 2002 3 28 780 80.05679 2002 3 28 795 79.75856 2002 3 28 810 79.46033 2002 3 28 825 79.16211 2002 3 28 840 78.86389 2002 3 28 855 78.56823 2002 3 28 870 78.27257 2002 3 28 885 77.97691 2002 3 28 900 77.68125 2002 3 28 915 77.68125 2002 3 28 930 77.68125 2002 3 28 945 77.68125 2002 3 28 960 77.68125 2002 3 28 975 77.68125 2002 3 28 990 77.29046 2002 3 28 1005 76.89966 2002 3 28 1020 76.50887 2002 3 28 1035 75.93033 2002 3 28 1050 75.35179 2002 3 28 1065 74.77325 2002 3 28 1080 74.19473 2002 3 28 1095 73.90929 2002 3 28 1110 73.62385 2002 3 28 1125 73.33841 2002 3 28 1140 73.05298 2002 3 28 1155 73.33842 2002 3 28 1170 73.62386 2002 3 28 1185 73.90929 2002 3 28 1200 74.19473 2002 3 28 1215 74.19473 2002 3 28 1230 74.19473 2002 3 28 1245 74.19473 2002 3 28 1260 74.19473 2002 3 28 1275 74.48272 2002 3 28 1290 74.77071 2002 3 28 1305 75.05871 2002 3 28 1320 75.3467 2002 3 28 1335 75.63725 2002 3 28 1350 75.92779 2002 3 28 1365 76.21832 2002 3 28 1380 76.50887 2002 3 28 1395 76.80196 2002 3 28 1410 77.09506 2002 3 28 1425 77.38815 2002 3 28 1440 77.68125 2002 3 29 15 77.38815 2002 3 29 30 77.09505 2002 3 29 45 76.80196 2002 3 29 60 76.50887 2002 3 29 75 76.21832 2002 3 29 90 75.92778 2002 3 29 105 75.63724 2002 3 29 120 75.3467 2002 3 29 135 75.63725 2002 3 29 150 75.92779 2002 3 29 165 76.21832 2002 3 29 180 76.50887 2002 3 29 195 76.21832 2002 3 29 210 75.92778 2002 3 29 225 75.63724 2002 3 29 240 75.3467 2002 3 29 255 75.3467 2002 3 29 270 75.3467 2002 3 29 285 75.3467 2002 3 29 300 75.3467 2002 3 29 315 75.3467 2002 3 29 330 75.3467 2002 3 29 345 75.3467 2002 3 29 360 75.3467 2002 3 29 375 75.63725 2002 3 29 390 75.92779 2002 3 29 405 76.21832 2002 3 29 420 76.50887 2002 3 29 435 76.50887 2002 3 29 450 76.50887 2002 3 29 465 76.50887 2002 3 29 480 76.50887 2002 3 29 495 76.80196 2002 3 29 510 77.09506 2002 3 29 525 77.38815 2002 3 29 540 77.68125 2002 3 29 555 77.97691 2002 3 29 570 78.27258 2002 3 29 585 78.56824 2002 3 29 600 78.86389 2002 3 29 615 79.16212 2002 3 29 630 79.46034 2002 3 29 645 79.75856 2002 3 29 660 80.05679 2002 3 29 675 80.05679 2002 3 29 690 80.05679 2002 3 29 705 80.05679 2002 3 29 720 80.05679 2002 3 29 735 80.35759 2002 3 29 750 80.65839 2002 3 29 765 80.9592 2002 3 29 780 81.26001 2002 3 29 795 81.26001 2002 3 29 810 81.26001 2002 3 29 825 81.26001 2002 3 29 840 81.26001 2002 3 29 855 81.26001 2002 3 29 870 81.26001 2002 3 29 885 81.26001 2002 3 29 900 81.26001 2002 3 29 915 80.95921 2002 3 29 930 80.6584 2002 3 29 945 80.35759 2002 3 29 960 80.05679 2002 3 29 975 80.35759 2002 3 29 990 80.65839 2002 3 29 1005 80.9592 2002 3 29 1020 81.26001 2002 3 29 1035 81.26001 2002 3 29 1050 81.26001 2002 3 29 1065 81.26001 2002 3 29 1080 81.26001 2002 3 29 1095 81.56339 2002 3 29 1110 81.86678 2002 3 29 1125 82.17016 2002 3 29 1140 82.47354 2002 3 29 1155 82.47354 2002 3 29 1170 82.47354 2002 3 29 1185 82.47354 2002 3 29 1200 82.47354 2002 3 29 1215 82.47354 2002 3 29 1230 82.47354 2002 3 29 1245 82.47354 2002 3 29 1260 82.47354 2002 3 29 1275 82.47354 2002 3 29 1290 82.47354 2002 3 29 1305 82.47354 2002 3 29 1320 82.47354 2002 3 29 1335 82.47354 2002 3 29 1350 82.47354 2002 3 29 1365 82.47354 2002 3 29 1380 82.47354 2002 3 29 1395 82.47354 2002 3 29 1410 82.47354 2002 3 29 1425 82.47354 2002 3 29 1440 82.47354 2002 3 30 15 82.47354 2002 3 30 30 82.47354 2002 3 30 45 82.47354 2002 3 30 60 82.47354 2002 3 30 75 82.77951 2002 3 30 90 83.08547 2002 3 30 105 83.39143 2002 3 30 120 83.6974 2002 3 30 135 84.00597 2002 3 30 150 84.31453 2002 3 30 165 84.62309 2002 3 30 180 84.93166 2002 3 30 195 84.93166 2002 3 30 210 84.93166 2002 3 30 225 84.93166 2002 3 30 240 84.93166 2002 3 30 255 84.93166 2002 3 30 270 84.93166 2002 3 30 285 84.93166 2002 3 30 300 84.93166 2002 3 30 315 84.93166 2002 3 30 330 84.93166 2002 3 30 345 84.93166 2002 3 30 360 84.93166 2002 3 30 375 84.93166 2002 3 30 390 84.93166 2002 3 30 405 84.93166 2002 3 30 420 84.93166 2002 3 30 435 84.93166 2002 3 30 450 84.93166 2002 3 30 465 84.93166 2002 3 30 480 84.93166 2002 3 30 495 84.93166 2002 3 30 510 84.93166 2002 3 30 525 84.93166 2002 3 30 540 84.93166 2002 3 30 555 85.24281 2002 3 30 570 85.55397 2002 3 30 585 85.86513 2002 3 30 600 86.17629 2002 3 30 615 85.86514 2002 3 30 630 85.55398 2002 3 30 645 85.24281 2002 3 30 660 84.93166 2002 3 30 675 84.93166 2002 3 30 690 84.93166 2002 3 30 705 84.93166 2002 3 30 720 84.93166 2002 3 30 735 84.62309 2002 3 30 750 84.31453 2002 3 30 765 84.00597 2002 3 30 780 83.6974 2002 3 30 795 83.39143 2002 3 30 810 83.08547 2002 3 30 825 82.77951 2002 3 30 840 82.47354 2002 3 30 855 82.17016 2002 3 30 870 81.86678 2002 3 30 885 81.56339 2002 3 30 900 81.26001 2002 3 30 915 81.26001 2002 3 30 930 81.26001 2002 3 30 945 81.26001 2002 3 30 960 81.26001 2002 3 30 975 81.26001 2002 3 30 990 81.26001 2002 3 30 1005 81.26001 2002 3 30 1020 81.26001 2002 3 30 1035 81.26001 2002 3 30 1050 81.26001 2002 3 30 1065 81.26001 2002 3 30 1080 81.26001 2002 3 30 1095 80.95921 2002 3 30 1110 80.6584 2002 3 30 1125 80.35759 2002 3 30 1140 80.05679 2002 3 30 1155 79.75856 2002 3 30 1170 79.46033 2002 3 30 1185 79.16211 2002 3 30 1200 78.86389 2002 3 30 1215 78.86389 2002 3 30 1230 78.86389 2002 3 30 1245 78.86389 2002 3 30 1260 78.86389 2002 3 30 1275 78.56823 2002 3 30 1290 78.27257 2002 3 30 1305 77.97691 2002 3 30 1320 77.68125 2002 3 30 1335 77.09762 2002 3 30 1350 76.51398 2002 3 30 1365 75.93034 2002 3 30 1380 75.3467 2002 3 30 1395 75.05871 2002 3 30 1410 74.77071 2002 3 30 1425 74.48272 2002 3 30 1440 74.19473"),header=F,col.names=c('yr','mn','dy','min','Q')) SC<-read.table(textConnection("2002 3 28 15 4480 2002 3 28 30 4480 2002 3 28 45 4480 2002 3 28 60 4480 2002 3 28 75 4480 2002 3 28 90 4480 2002 3 28 105 4480 2002 3 28 120 4480 2002 3 28 135 4482.5 2002 3 28 150 4485 2002 3 28 165 4487.5 2002 3 28 180 4490 2002 3 28 195 4490 2002 3 28 210 4490 2002 3 28 225 4490 2002 3 28 240 4490 2002 3 28 255 4487.5 2002 3 28 270 4485 2002 3 28 285 4482.5 2002 3 28 300 4480 2002 3 28 315 4480 2002 3 28 330 4480 2002 3 28 345 4480 2002 3 28 360 4480 2002 3 28 375 4480 2002 3 28 390 4480 2002 3 28 405 4480 2002 3 28 420 4480 2002 3 28 435 4482.5 2002 3 28 450 4485 2002 3 28 465 4487.5 2002 3 28 480 4490 2002 3 28 495 4492.5 2002 3 28 510 4495 2002 3 28 525 4497.5 2002 3 28 540 4500 2002 3 28 555 4502.5 2002 3 28 570 4505 2002 3 28 585 4507.5 2002 3 28 600 4510 2002 3 28 615 4510 2002 3 28 630 4510 2002 3 28 645 4510 2002 3 28 660 4510 2002 3 28 675 4510 2002 3 28 690 4510 2002 3 28 705 4510 2002 3 28 720 4510 2002 3 28 735 4510 2002 3 28 750 4510 2002 3 28 765 4510 2002 3 28 780 4510 2002 3 28 795 4512.5 2002 3 28 810 4515 2002 3 28 825 4517.5 2002 3 28 840 4520 2002 3 28 855 4520 2002 3 28 870 4520 2002 3 28 885 4520 2002 3 28 900 4520 2002 3 28 915 4522.5 2002 3 28 930 4525 2002 3 28 945 4527.5 2002 3 28 960 4530 2002 3 28 975 4532.5 2002 3 28 990 4535 2002 3 28 1005 4537.5 2002 3 28 1020 4540 2002 3 28 1035 4537.5 2002 3 28 1050 4535 2002 3 28 1065 4532.5 2002 3 28 1080 4530 2002 3 28 1095 4530 2002 3 28 1110 4530 2002 3 28 1125 4530 2002 3 28 1140 4530 2002 3 28 1155 4535 2002 3 28 1170 4540 2002 3 28 1185 4545 2002 3 28 1200 4550 2002 3 28 1215 4550 2002 3 28 1230 4550 2002 3 28 1245 4550 2002 3 28 1260 4550 2002 3 28 1275 4550 2002 3 28 1290 4550 2002 3 28 1305 4550 2002 3 28 1320 4550 2002 3 28 1335 4542.5 2002 3 28 1350 4535 2002 3 28 1365 4527.5 2002 3 28 1380 4520 2002 3 28 1395 4520 2002 3 28 1410 4520 2002 3 28 1425 4520 2002 3 28 1440 4520 2002 3 29 15 4520 2002 3 29 30 4520 2002 3 29 45 4520 2002 3 29 60 4520 2002 3 29 75 4520 2002 3 29 90 4520 2002 3 29 105 4520 2002 3 29 120 4520 2002 3 29 135 4520 2002 3 29 150 4520 2002 3 29 165 4520 2002 3 29 180 4520 2002 3 29 195 4522.5 2002 3 29 210 4525 2002 3 29 225 4527.5 2002 3 29 240 4530 2002 3 29 255 4530 2002 3 29 270 4530 2002 3 29 285 4530 2002 3 29 300 4530 2002 3 29 315 4532.5 2002 3 29 330 4535 2002 3 29 345 4537.5 2002 3 29 360 4540 2002 3 29 375 4540 2002 3 29 390 4540 2002 3 29 405 4540 2002 3 29 420 4540 2002 3 29 435 4542.5 2002 3 29 450 4545 2002 3 29 465 4547.5 2002 3 29 480 4550 2002 3 29 495 4552.5 2002 3 29 510 4555 2002 3 29 525 4557.5 2002 3 29 540 4560 2002 3 29 555 4560 2002 3 29 570 4560 2002 3 29 585 4560 2002 3 29 600 4560 2002 3 29 615 4557.5 2002 3 29 630 4555 2002 3 29 645 4552.5 2002 3 29 660 4550 2002 3 29 675 4547.5 2002 3 29 690 4545 2002 3 29 705 4542.5 2002 3 29 720 4540 2002 3 29 735 4540 2002 3 29 750 4540 2002 3 29 765 4540 2002 3 29 780 4540 2002 3 29 795 4537.5 2002 3 29 810 4535 2002 3 29 825 4532.5 2002 3 29 840 4530 2002 3 29 855 4530 2002 3 29 870 4530 2002 3 29 885 4530 2002 3 29 900 4530 2002 3 29 915 4535 2002 3 29 930 4540 2002 3 29 945 4545 2002 3 29 960 4550 2002 3 29 975 4537.5 2002 3 29 990 4525 2002 3 29 1005 4512.5 2002 3 29 1020 4500 2002 3 29 1035 4490 2002 3 29 1050 4480 2002 3 29 1065 4470 2002 3 29 1080 4460 2002 3 29 1095 4470 2002 3 29 1110 4480 2002 3 29 1125 4490 2002 3 29 1140 4500 2002 3 29 1155 4490 2002 3 29 1170 4480 2002 3 29 1185 4470 2002 3 29 1200 4460 2002 3 29 1215 4460 2002 3 29 1230 4460 2002 3 29 1245 4460 2002 3 29 1260 4460 2002 3 29 1275 4455 2002 3 29 1290 4450 2002 3 29 1305 4445 2002 3 29 1320 4440 2002 3 29 1335 4437.5 2002 3 29 1350 4435 2002 3 29 1365 4432.5 2002 3 29 1380 4430 2002 3 29 1395 4427.5 2002 3 29 1410 4425 2002 3 29 1425 4422.5 2002 3 29 1440 4420 2002 3 30 15 4420 2002 3 30 30 4420 2002 3 30 45 4420 2002 3 30 60 4420 2002 3 30 75 4420 2002 3 30 90 4420 2002 3 30 105 4420 2002 3 30 120 4420 2002 3 30 135 4417.5 2002 3 30 150 4415 2002 3 30 165 4412.5 2002 3 30 180 4410 2002 3 30 195 4407.5 2002 3 30 210 4405 2002 3 30 225 4402.5 2002 3 30 240 4400 2002 3 30 255 4397.5 2002 3 30 270 4395 2002 3 30 285 4392.5 2002 3 30 300 4390 2002 3 30 315 4390 2002 3 30 330 4390 2002 3 30 345 4390 2002 3 30 360 4390 2002 3 30 375 4387.5 2002 3 30 390 4385 2002 3 30 405 4382.5 2002 3 30 420 4380 2002 3 30 435 4382.5 2002 3 30 450 4385 2002 3 30 465 4387.5 2002 3 30 480 4390 2002 3 30 495 4392.5 2002 3 30 510 4395 2002 3 30 525 4397.5 2002 3 30 540 4400 2002 3 30 555 4402.5 2002 3 30 570 4405 2002 3 30 585 4407.5 2002 3 30 600 4410 2002 3 30 615 4410 2002 3 30 630 4410 2002 3 30 645 4410 2002 3 30 660 4410 2002 3 30 675 4410 2002 3 30 690 4410 2002 3 30 705 4410 2002 3 30 720 4410 2002 3 30 735 4412.5 2002 3 30 750 4415 2002 3 30 765 4417.5 2002 3 30 780 4420 2002 3 30 795 4417.5 2002 3 30 810 4415 2002 3 30 825 4412.5 2002 3 30 840 4410 2002 3 30 855 4412.5 2002 3 30 870 4415 2002 3 30 885 4417.5 2002 3 30 900 4420 2002 3 30 915 4417.5 2002 3 30 930 4415 2002 3 30 945 4412.5 2002 3 30 960 4410 2002 3 30 975 4400 2002 3 30 990 4390 2002 3 30 1005 4380 2002 3 30 1020 4370 2002 3 30 1035 4362.5 2002 3 30 1050 4355 2002 3 30 1065 4347.5 2002 3 30 1080 4340 2002 3 30 1095 4355 2002 3 30 1110 4370 2002 3 30 1125 4385 2002 3 30 1140 4400 2002 3 30 1155 4400 2002 3 30 1170 4400 2002 3 30 1185 4400 2002 3 30 1200 4400 2002 3 30 1215 4400 2002 3 30 1230 4400 2002 3 30 1245 NA 2002 3 30 1260 4400 2002 3 30 1275 4402.5 2002 3 30 1290 4405 2002 3 30 1305 4407.5 2002 3 30 1320 4410 2002 3 30 1335 4412.5 2002 3 30 1350 4415 2002 3 30 1365 4417.5 2002 3 30 1380 4420 2002 3 30 1395 4425 2002 3 30 1410 4430 2002 3 30 1425 4435 2002 3 30 1440 4440"),header=F,col.names=c('yr','mn','dy','min','SC')) Q_use<-data.frame(date=as.POSIXct(paste(Q[,1],"-",Q[,2],"-",Q[,3]," ",floor(Q[,4]/60),":",Q[,4]-(floor(Q[,4]/60)*60),":00",sep=''),"%Y-%m-%d %H:%M:%S",tz=""),Q=Q$Q) SC_use<-data.frame(date=as.POSIXct(paste(SC[,1],"-",SC[,2],"-",SC[,3]," ",floor(SC[,4]/60),":",SC[,4]-(floor(SC[,4]/60)*60),":00",sep=''),"%Y-%m-%d %H:%M:%S",tz=""),SC=SC$SC) Using the data provided, I’m trying to calculate each day’s correlation between Q_use$Q and SC_use$SC and store the values in a data.frame. An example result I’d like to make is #Day 1 cor(Q_use$Q[1:95],SC_use$SC[1:95]) #[1] -0.4916499 #Day 2 cor(Q_use$Q[96:191],SC_use$SC[96:191]) #[1] -0.6085098 edm<-data.frame(Correl=t(t(c(cor(Q_use$Q[1:95],SC_use$SC[1:95]), cor(Q_use$Q[96:191],SC_use$SC[96:191]))))) But of course I want R to figure out appropriate indexes (i.e. 1:95, 96:191, and so in the larger dataset) for me. In other words, I'm seeking some help with R code that will ‘pass’ through the two datasets calculating each day’s correlation and doesn’t rely on the user supplying the ranges of indexes for way the daily values reside. There are, as there always is, a couple of wrinkles. On day 3, for example, cor(Q_use$Q[192:287],SC_use$SC[192:287]) [1] NA This is because SC_use$SC[275] = NA. Is there a way to direct R to continue calculating that day's correlation using the data that is available for that day? It is also necessary to check and make sure that Q_use[i,1]==SC_use[i,1] for each i in that day because in the larger dataset the row indices don’t necessarily match up (I have made sure that they do for this simple example). It would be handy to know how many values were missing on incomplete days, perhaps in a column appended to the resulting data frame. I appreciate any R code that could help get me started toward this end, I’m stuck. I tried looking at ?aggregate, had a look in the reshape library, and ‘rollapply’ in the zoo library, but I wasn’t seeing a way to do the error checking I just described. Thanks, Eric -- View this message in context: http://r.789695.n4.nabble.com/calculate-within-day-correlations-tp4643091.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ 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.