[R] replacement has length zero. In addition: Warning message: In max(i) : no non-missing arguments to max; returning -Inf

Sarah Goslee sarah.goslee at gmail.com
Fri Aug 3 23:26:52 CEST 2012


On Fri, Aug 3, 2012 at 5:14 PM, Yolande Tra <yolande.tra at gmail.com> wrote:
>> i=10
>>  thisStamp <- as.POSIXct(strptime(diveCond$timestamp[i], "%Y-%m-%d
>> %H:%M:%S"))
>> thisStamp
> [1] "2008-08-11 14:12:00 EDT"
>>  ind <- which.min( abs(index(regCond_all) - thisStamp ))
>>
>> ind
> [1] 506
>> diveCond$r_wvht[i]
> [1] 0
>> regCond_all$WVHT[ind]
>                     WVHT
> 2008-08-11 14:22:00 1.35
> It did not to diveCond.
> Y

I don't see any reason why that should give the error you report.
diveCond$r_wvht[i] exists, as does regCond_all$WVHT[ind].


>
> On Fri, Aug 3, 2012 at 5:10 PM, Sarah Goslee <sarah.goslee at gmail.com> wrote:
>>
>> This runs, so there must be something else going on that you haven't
>> told us about.
>>
>>
>> diveCond <- structure(list(dive_id = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
>> timestamp = c("2008-08-06 08:49:00",
>> "2008-08-06 10:03:00", "2008-08-06 10:25:00", "2008-08-08 09:42:00",
>> "2008-08-08 10:53:00", "2008-08-08 12:42:00", "2008-08-11 10:10:00",
>> "2008-08-11 11:01:00", "2008-08-11 11:16:00", "2008-08-11 14:12:00"
>> ), visability = c(3.5, 3.5, NA, 4, NA, NA, NA, 7, 6.5, NA), r_wvht = c(0,
>> 0, 0, 0, 0, 0, 0, 0, 0, 0), r_dpd = c(0, 0, 0, 0, 0, 0, 0, 0,
>> 0, 0), r_apt = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), r_mwd = c(0,
>> 0, 0, 0, 0, 0, 0, 0, 0, 0), r_wtmp = c(0, 0, 0, 0, 0, 0, 0, 0,
>> 0, 0), l_salinity = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), l_o2 = c(0,
>> 0, 0, 0, 0, 0, 0, 0, 0, 0), l_hs = c(0, 0, 0, 0, 0, 0, 0, 0,
>> 0, 0), l_tp = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), l_wdir = c(0,
>> 0, 0, 0, 0, 0, 0, 0, 0, 0), l_along = c(0, 0, 0, 0, 0, 0, 0,
>> 0, 0, 0), l_cross = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), l_mab = c(0,
>> 0, 0, 0, 0, 0, 0, 0, 0, 0), l_depth = c(0, 0, 0, 0, 0, 0, 0,
>> 0, 0, 0)), .Names = c("dive_id", "timestamp", "visability", "r_wvht",
>> "r_dpd", "r_apt", "r_mwd", "r_wtmp", "l_salinity", "l_o2", "l_hs",
>> "l_tp", "l_wdir", "l_along", "l_cross", "l_mab", "l_depth"), row.names =
>> c(NA,
>> 10L), class = "data.frame")
>>
>> regCond_all <-
>> structure(c(999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
>> 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
>> 99, 99, 99, 99, 1.9, 2, 1.97, 1.99, 1.83, 1.78, 1.6, 1.52, 1.52,
>> 1.36, 10.53, 9.88, 9.88, 10.53, 10.53, 10.53, 5.26, 9.88, 10.53,
>> 10.53, 5.4, 5.57, 5.46, 5.34, 5.5, 5.59, 5.62, 5.76, 6.23, 6.19,
>> 295, 294, 292, 294, 283, 288, 305, 287, 294, 295, 9999, 9999,
>> 9999, 9999, 9999, 9999, 9999, 9999, 9999, 9999, 999, 999, 999,
>> 999, 999, 999, 999, 999, 999, 999, 12.7, 12.5, 12.3, 12.6, 12.6,
>> 12.5, 12.5, 12.5, 12.7, 12.7, 999, 999, 999, 999, 999, 999, 999,
>> 999, 999, 999, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
>> 99, 99, 99, 99, 99, 99, 99, 99), class = c("xts", "zoo"), .indexCLASS
>> = c("POSIXct",
>> "POSIXt"), .indexTZ = "", tclass = c("POSIXct", "POSIXt"), tzone = "",
>> index = structure(c(1217564520,
>> 1217566320, 1217568120, 1217569980, 1217571720, 1217573520, 1217575320,
>> 1217577120, 1217578920, 1217580720), tzone = "", tclass = c("POSIXct",
>> "POSIXt")), .Dim = c(10L, 13L), .Dimnames = list(NULL, c("WDIR",
>> "WSPD", "GST", "WVHT", "DPD", "APD", "MWD", "PRES", "ATMP", "WTMP",
>> "DEWP", "VIS", "TIDE")))
>>
>> for(i in 1:dim(diveCond)[1]){
>>  thisStamp <- as.POSIXct(strptime(diveCond$timestamp[i], "%Y-%m-%d
>> %H:%M:%S"))
>>  ind <- which.min( abs(index(regCond_all) - thisStamp ))
>>  diveCond$r_wvht[i]<- regCond_all$WVHT[ind]
>>  diveCond$r_dpd[i]<- regCond_all$DPD[ind]
>>  diveCond$r_apt[i] <- regCond_all$APD[ind]
>>  diveCond$r_mwd[i] <- regCond_all$MWD[ind]
>>  diveCond$r_wtmp[i] <- regCond_all$WTMP[ind]
>>  }
>>
>> # this also runs
>> i <- 10
>>  thisStamp <- as.POSIXct(strptime(diveCond$timestamp[i], "%Y-%m-%d
>> %H:%M:%S"))
>>  ind <- which.min( abs(index(regCond_all) - thisStamp ))
>>  diveCond$r_wvht[i]<- regCond_all$WVHT[ind]
>>  diveCond$r_dpd[i]<- regCond_all$DPD[ind]
>>  diveCond$r_apt[i] <- regCond_all$APD[ind]
>>  diveCond$r_mwd[i] <- regCond_all$MWD[ind]
>>  diveCond$r_wtmp[i] <- regCond_all$WTMP[ind]
>>
>> What happens when you do:
>> i <- 10
>>  thisStamp <- as.POSIXct(strptime(diveCond$timestamp[i], "%Y-%m-%d
>> %H:%M:%S"))
>> thisStamp
>>  ind <- which.min( abs(index(regCond_all) - thisStamp ))
>> ind
>> diveCond$r_wvht[i]
>> regCond_all$WVHT[ind]
>>
>>
>>
>>
>> On Fri, Aug 3, 2012 at 5:02 PM, Yolande Tra <yolande.tra at gmail.com> wrote:
>> >> dput(head(diveCond, 10))
>> > structure(list(dive_id = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), timestamp =
>> > c("2008-08-06 08:49:00",
>> > "2008-08-06 10:03:00", "2008-08-06 10:25:00", "2008-08-08 09:42:00",
>> > "2008-08-08 10:53:00", "2008-08-08 12:42:00", "2008-08-11 10:10:00",
>> > "2008-08-11 11:01:00", "2008-08-11 11:16:00", "2008-08-11 14:12:00"
>> > ), visability = c(3.5, 3.5, NA, 4, NA, NA, NA, 7, 6.5, NA), r_wvht =
>> > c(0,
>> > 0, 0, 0, 0, 0, 0, 0, 0, 0), r_dpd = c(0, 0, 0, 0, 0, 0, 0, 0,
>> > 0, 0), r_apt = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), r_mwd = c(0,
>> > 0, 0, 0, 0, 0, 0, 0, 0, 0), r_wtmp = c(0, 0, 0, 0, 0, 0, 0, 0,
>> > 0, 0), l_salinity = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), l_o2 = c(0,
>> > 0, 0, 0, 0, 0, 0, 0, 0, 0), l_hs = c(0, 0, 0, 0, 0, 0, 0, 0,
>> > 0, 0), l_tp = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), l_wdir = c(0,
>> > 0, 0, 0, 0, 0, 0, 0, 0, 0), l_along = c(0, 0, 0, 0, 0, 0, 0,
>> > 0, 0, 0), l_cross = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), l_mab = c(0,
>> > 0, 0, 0, 0, 0, 0, 0, 0, 0), l_depth = c(0, 0, 0, 0, 0, 0, 0,
>> > 0, 0, 0)), .Names = c("dive_id", "timestamp", "visability", "r_wvht",
>> > "r_dpd", "r_apt", "r_mwd", "r_wtmp", "l_salinity", "l_o2", "l_hs",
>> > "l_tp", "l_wdir", "l_along", "l_cross", "l_mab", "l_depth"), row.names =
>> > c(NA,
>> > 10L), class = "data.frame")
>> >
>> >> dput(head(regCond_all, 10))
>> > structure(c(999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
>> > 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
>> > 99, 99, 99, 99, 1.9, 2, 1.97, 1.99, 1.83, 1.78, 1.6, 1.52, 1.52,
>> > 1.36, 10.53, 9.88, 9.88, 10.53, 10.53, 10.53, 5.26, 9.88, 10.53,
>> > 10.53, 5.4, 5.57, 5.46, 5.34, 5.5, 5.59, 5.62, 5.76, 6.23, 6.19,
>> > 295, 294, 292, 294, 283, 288, 305, 287, 294, 295, 9999, 9999,
>> > 9999, 9999, 9999, 9999, 9999, 9999, 9999, 9999, 999, 999, 999,
>> > 999, 999, 999, 999, 999, 999, 999, 12.7, 12.5, 12.3, 12.6, 12.6,
>> > 12.5, 12.5, 12.5, 12.7, 12.7, 999, 999, 999, 999, 999, 999, 999,
>> > 999, 999, 999, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
>> > 99, 99, 99, 99, 99, 99, 99, 99), class = c("xts", "zoo"), .indexCLASS =
>> > c("POSIXct",
>> > "POSIXt"), .indexTZ = "", tclass = c("POSIXct", "POSIXt"), tzone = "",
>> > index
>> > = structure(c(1217564520,
>> > 1217566320, 1217568120, 1217569980, 1217571720, 1217573520, 1217575320,
>> > 1217577120, 1217578920, 1217580720), tzone = "", tclass = c("POSIXct",
>> > "POSIXt")), .Dim = c(10L, 13L), .Dimnames = list(NULL, c("WDIR",
>> > "WSPD", "GST", "WVHT", "DPD", "APD", "MWD", "PRES", "ATMP", "WTMP",
>> > "DEWP", "VIS", "TIDE")))
>> >
>> > Thank you for your patience.
>> > Y
>> > On Fri, Aug 3, 2012 at 4:56 PM, Sarah Goslee <sarah.goslee at gmail.com>
>> > wrote:
>> >>
>> >> When i == 10, what is ind?
>> >> diveCond$r_apt[10]
>> >> regCond_all$APD[ind]
>> >>
>> >> Providing a subset is unhelpful. I gave you explicit dput() code to
>> >> use; that's how we need data to be provided.
>> >>
>> >> I've given you various suggestions; if you don't implement them then
>> >> there's not much point in me trying to help.
>> >>
>> >> Sarah
>> >>
>> >>
>> >> On Fri, Aug 3, 2012 at 4:54 PM, Yolande Tra <yolande.tra at gmail.com>
>> >> wrote:
>> >> > I have tried 1 and 2. Then for i=10, the error came back
>> >> >> i=1
>> >> >> thisStamp <- as.POSIXct(strptime(diveCond$timestamp[1], "%Y-%m-%d
>> >> >> %H:%M:%S"))
>> >> >> ind <- which.min( abs(index(regCond_all) - thisStamp ))
>> >> >> diveCond$r_wvht[1]<- regCond_all$WVHT[ind]
>> >> >> diveCond$r_dpd[1]<- regCond_all$DPD[ind]
>> >> >> diveCond$r_apt[1] <- regCond_all$APD[ind]
>> >> >> diveCond$r_mwd[1] <- regCond_all$MWD[ind]
>> >> >> diveCond$r_wtmp[1] <- regCond_all$WTMP[ind]
>> >> >> i=2
>> >> >> thisStamp <- as.POSIXct(strptime(diveCond$timestamp[2], "%Y-%m-%d
>> >> >> %H:%M:%S"))
>> >> >> ind <- which.min( abs(index(regCond_all) - thisStamp ))
>> >> >> diveCond$r_wvht[2]<- regCond_all$WVHT[ind]
>> >> >> diveCond$r_dpd[2]<- regCond_all$DPD[ind]
>> >> >> diveCond$r_apt[2] <- regCond_all$APD[ind]
>> >> >> diveCond$r_mwd[2] <- regCond_all$MWD[ind]
>> >> >> diveCond$r_wtmp[2] <- regCond_all$WTMP[ind]
>> >> >> i=10
>> >> >> thisStamp <- as.POSIXct(strptime(diveCond$timestamp[10], "%Y-%m-%d
>> >> >> %H:%M:%S"))
>> >> >> ind <- which.min( abs(index(regCond_all) - thisStamp ))
>> >> >> diveCond$r_wvht[10]<- regCond_all$WVHT[ind]
>> >> > Error in diveCond$r_wvht[10] <- regCond_all$WVHT[ind] :
>> >> >   replacement has length zero
>> >> > In addition: Warning message:
>> >> > In max(i) : no non-missing arguments to max; returning -Inf
>> >> >> diveCond$r_dpd[10]<- regCond_all$DPD[ind]
>> >> > Error in diveCond$r_dpd[10] <- regCond_all$DPD[ind] :
>> >> >   replacement has length zero
>> >> > In addition: Warning message:
>> >> > In max(i) : no non-missing arguments to max; returning -Inf
>> >> >> diveCond$r_apt[10] <- regCond_all$APD[ind]
>> >> > Error in diveCond$r_apt[10] <- regCond_all$APD[ind] :
>> >> >   replacement has length zero
>> >> > In addition: Warning message:
>> >> > In max(i) : no non-missing arguments to max; returning -Inf
>> >> >> diveCond$r_mwd[10] <- regCond_all$MWD[ind]
>> >> > Error in diveCond$r_mwd[10] <- regCond_all$MWD[ind] :
>> >> >   replacement has length zero
>> >> > In addition: Warning message:
>> >> > In max(i) : no non-missing arguments to max; returning -Inf
>> >> >
>> >> > Here is a subset of the data
>> >> >>u=regCond_all
>> >> >>u1<-data.frame(date=index(u),coredata(u))
>> >> >> subset(u1,WVHT<0.61)
>> >> >                     date WDIR WSPD GST WVHT   DPD  APD MWD PRES ATMP
>> >> > WTMP
>> >> > DEWP
>> >> > 408  2008-08-09 12:52:00  999   99  99 0.59 12.50 5.52 247 9999  999
>> >> > 12.8
>> >> > 999
>> >> > 409  2008-08-09 13:22:00  999   99  99 0.60 11.76 5.42 239 9999  999
>> >> > 12.8
>> >> > 999
>> >> > 950  2008-08-20 22:22:00  999   99  99 0.57 15.38 5.93 208 9999  999
>> >> > 15.9
>> >> > 999
>> >> > 2689 2009-10-11 05:33:00  999   99  99 0.59 11.11 6.29 256 9999  999
>> >> > 12.6
>> >> > 999
>> >> > 2691 2009-10-11 06:33:00  999   99  99 0.60 10.53 6.84 278 9999  999
>> >> > 12.7
>> >> > 999
>> >> > 2717 2009-10-11 19:33:00  999   99  99 0.60 10.53 5.28 273 9999  999
>> >> > 12.8
>> >> > 999
>> >> > 2724 2009-10-11 23:03:00  999   99  99 0.60 11.11 5.97 252 9999  999
>> >> > 13.2
>> >> > 999
>> >> > 2726 2009-10-12 00:03:00  999   99  99 0.60 10.53 6.08 252 9999  999
>> >> > 13.2
>> >> > 999
>> >> > 2727 2009-10-12 00:33:00  999   99  99 0.60  9.88 5.61 276 9999  999
>> >> > 13.2
>> >> > 999
>> >> > 2731 2009-10-12 02:33:00  999   99  99 0.57 18.18 6.57 249 9999  999
>> >> > 13.2
>> >> > 999
>> >> > 2732 2009-10-12 03:03:00  999   99  99 0.58  8.33 6.66 304 9999  999
>> >> > 13.2
>> >> > 999
>> >> > 2733 2009-10-12 03:33:00  999   99  99 0.59  7.14 6.80 288 9999  999
>> >> > 13.2
>> >> > 999
>> >> >      VIS TIDE
>> >> > 408   99   99
>> >> > 409   99   99
>> >> > 950   99   99
>> >> > 2689  99   99
>> >> > 2691  99   99
>> >> > 2717  99   99
>> >> > 2724  99   99
>> >> > 2726  99   99
>> >> > 2727  99   99
>> >> > 2731  99   99
>> >> > 2732  99   99
>> >> > 2733  99   99
>> >> >>
>> >> >
>> >> > Thanks,
>> >> > Y
>> >> >
>> >> > On Fri, Aug 3, 2012 at 4:35 PM, Sarah Goslee <sarah.goslee at gmail.com>
>> >> > wrote:
>> >> >>
>> >> >> Yolande,
>> >> >>
>> >> >> Please send your message to the R-help email list too, not just to
>> >> >> me.
>> >> >>
>> >> >> On Fri, Aug 3, 2012 at 4:28 PM, Yolande Tra <yolande.tra at gmail.com>
>> >> >> wrote:
>> >> >> > Here is the description
>> >> >> > I am trying to build the data diveCond from two datasets
>> >> >> > diveData_2008,
>> >> >> > diveData_2009 and RegCond_all.   How would I dput each data for
>> >> >> > anyone
>> >> >> > who
>> >> >> > helps why the code is giving error. The code selects index i of
>> >> >> > the
>> >> >> > data
>> >> >> >
>> >> >> > The code starts like this
>> >> >> > diveCond <- data.frame(matrix(0, nrow=97, ncol=17))
>> >> >> > names(diveCond) <- c("dive_id", "timestamp", "visability",
>> >> >> > "r_wvht",
>> >> >> > "r_dpd", "r_apt", "r_mwd", "r_wtmp", "l_salinity", "l_o2", "l_hs",
>> >> >> > "l_tp",
>> >> >> > "l_wdir", "l_along", "l_cross", "l_mab", "l_depth")
>> >> >> > dive_id <- 0
>> >> >> > for(i in unique(as.character(index(diveData_2008)))){
>> >> >> >  dive_id <- dive_id+1
>> >> >> >
>> >> >> >  diveCond$dive_id[dive_id] <- dive_id
>> >> >> >  diveCond$timestamp[dive_id] <- as.character(i)
>> >> >> >  diveCond$visability[dive_id] <-
>> >> >> > as.numeric(diveData_2008[i][1,12])
>> >> >> >
>> >> >> > }
>> >> >> > for(i in unique(as.character(index(diveData_2009)))){
>> >> >> >  dive_id <- dive_id+1
>> >> >> >
>> >> >> >  diveCond$dive_id[dive_id] <- dive_id
>> >> >> >  diveCond$timestamp[dive_id] <- as.character(i)
>> >> >> >  diveCond$visability[dive_id] <- as.numeric(diveData_2009[i][1,5])
>> >> >> >
>> >> >> > }
>> >> >>
>> >> >> Which has nothing whatsoever in common with the "reproducible" code
>> >> >> you provided originally, since that only creates diveCond full of
>> >> >> zeros and tries to use it, without success.
>> >> >>
>> >> >> You need to give us actual data for all data frames involved, as you
>> >> >> did for just the one, eg.
>> >> >> dput(head(diveCond, 10))
>> >> >> dput(head(regCond_all))
>> >> >>
>> >> >> otherwise we can't run your code and see what happens.
>> >> >>
>> >> >> But failing that, here's how to diagnose it yourself. Set i <- 1 and
>> >> >> then run the first few lines of your loop. Look at ind and see if
>> >> >> it's
>> >> >> what you think it should be. Look at diveCond$r_wvht[i] and
>> >> >> regCond_all$WVHT[ind] to see if they exist and are the same size.
>> >> >>
>> >> >> I'm guessing that ind isn't what you expect, but there's no way I
>> >> >> can
>> >> >> be certain from what you've given us.
>> >> >>
>> >> >> Sarah
>> >> >>
>> >> >>
>> >> >> >
>> >> >> > I id not get error so far. Then
>> >> >> >
>> >> >> >> for(i in 1:dim(diveCond)[1]){
>> >> >> > + thisStamp <- as.POSIXct(strptime(diveCond$timestamp[i],
>> >> >> > "%Y-%m-%d
>> >> >> > %H:%M:%S"))
>> >> >> > + ind <- which.min( abs(index(regCond_all) - thisStamp ))
>> >> >> > + diveCond$r_wvht[i]<- regCond_all$WVHT[ind]
>> >> >> > + diveCond$r_dpd[i]<- regCond_all$DPD[ind]
>> >> >> > + diveCond$r_apt[i] <- regCond_all$APD[ind]
>> >> >> > + diveCond$r_mwd[i] <- regCond_all$MWD[ind]
>> >> >> > + diveCond$r_wtmp[i] <- regCond_all$WTMP[ind]
>> >> >> > + }
>> >> >> > Error in diveCond$r_wvht[i] <- regCond_all$WVHT[ind] :
>> >> >> >   replacement has length zero
>> >> >> > In addition: Warning message:
>> >> >> > In max(i) : no non-missing arguments to max; returning -Inf
>> >> >> >
>> >> >> >
>> >> >> > Thank you for your time
>> >> >> > Y
>> >> >> > On Fri, Aug 3, 2012 at 4:02 PM, Sarah Goslee
>> >> >> > <sarah.goslee at gmail.com>
>> >> >> > wrote:
>> >> >> >>
>> >> >> >> Hi Yolande,
>> >> >> >>
>> >> >> >> What's index() ?
>> >> >> >>
>> >> >> >> I get
>> >> >> >> >  ind <- which.min( abs(index(regCond_all) - thisStamp ))
>> >> >> >> Error in which.min(abs(index(regCond_all) - thisStamp)) :
>> >> >> >>   could not find function "index"
>> >> >> >>
>> >> >> >> There's probably an easier way to do whatever you're trying to
>> >> >> >> accomplish, but I'm afraid I can't tell what that is from just
>> >> >> >> your
>> >> >> >> code, especially without being able to figure out how ind is
>> >> >> >> calculated. Can you describe what you want to do and what the
>> >> >> >> result
>> >> >> >> should look like when run with the first 10 rows of your data, as
>> >> >> >> you
>> >> >> >> provided with dput()?
>> >> >> >>
>> >> >> >> Sarah
>> >> >> >>
>> >> >> >> On Fri, Aug 3, 2012 at 3:49 PM, Yolande Tra
>> >> >> >> <yolande.tra at gmail.com>
>> >> >> >> wrote:
>> >> >> >> > Hi,
>> >> >> >> >
>> >> >> >> > Here is my data, the first 10 rows
>> >> >> >> >  > u=regCond_all[1:10,]
>> >> >> >> >> dput(u)
>> >> >> >> > structure(c(999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
>> >> >> >> > 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
>> >> >> >> > 99, 99, 99, 99, 1.9, 2, 1.97, 1.99, 1.83, 1.78, 1.6, 1.52,
>> >> >> >> > 1.52,
>> >> >> >> > 1.36, 10.53, 9.88, 9.88, 10.53, 10.53, 10.53, 5.26, 9.88,
>> >> >> >> > 10.53,
>> >> >> >> > 10.53, 5.4, 5.57, 5.46, 5.34, 5.5, 5.59, 5.62, 5.76, 6.23,
>> >> >> >> > 6.19,
>> >> >> >> > 295, 294, 292, 294, 283, 288, 305, 287, 294, 295, 9999, 9999,
>> >> >> >> > 9999, 9999, 9999, 9999, 9999, 9999, 9999, 9999, 999, 999, 999,
>> >> >> >> > 999, 999, 999, 999, 999, 999, 999, 12.7, 12.5, 12.3, 12.6,
>> >> >> >> > 12.6,
>> >> >> >> > 12.5, 12.5, 12.5, 12.7, 12.7, 999, 999, 999, 999, 999, 999,
>> >> >> >> > 999,
>> >> >> >> > 999, 999, 999, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
>> >> >> >> > 99, 99, 99, 99, 99, 99, 99, 99), class = c("xts", "zoo"),
>> >> >> >> > .indexCLASS
>> >> >> >> > =
>> >> >> >> > c("POSIXct",
>> >> >> >> > "POSIXt"), .indexTZ = "", tclass = c("POSIXct", "POSIXt"),
>> >> >> >> > tzone =
>> >> >> >> > "",
>> >> >> >> > index = structure(c(1217564520,
>> >> >> >> > 1217566320, 1217568120, 1217569980, 1217571720, 1217573520,
>> >> >> >> > 1217575320,
>> >> >> >> > 1217577120, 1217578920, 1217580720), tzone = "", tclass =
>> >> >> >> > c("POSIXct",
>> >> >> >> > "POSIXt")), .Dim = c(10L, 13L), .Dimnames = list(NULL,
>> >> >> >> > c("WDIR",
>> >> >> >> > "WSPD", "GST", "WVHT", "DPD", "APD", "MWD", "PRES", "ATMP",
>> >> >> >> > "WTMP",
>> >> >> >> > "DEWP", "VIS", "TIDE")))
>> >> >> >> >
>> >> >> >> > I tried to copy some fields from this data to another data. I
>> >> >> >> > got
>> >> >> >> > error.
>> >> >> >> > Could you please help? Thanks.
>> >> >> >> > diveCond <- data.frame(matrix(0, nrow=97, ncol=17))
>> >> >> >> > names(diveCond) <- c("dive_id", "timestamp", "visability",
>> >> >> >> > "r_wvht",
>> >> >> >> > "r_dpd", "r_apt", "r_mwd", "r_wtmp", "l_salinity", "l_o2",
>> >> >> >> > "l_hs",
>> >> >> >> > "l_tp",
>> >> >> >> > "l_wdir", "l_along", "l_cross", "l_mab", "l_depth")
>> >> >> >> > dive_id <- 0
>> >> >> >> >  for(i in 1:dim(diveCond)[1]){
>> >> >> >> >  thisStamp <- as.POSIXct(strptime(diveCond$timestamp[i],
>> >> >> >> > "%Y-%m-%d
>> >> >> >> > %H:%M:%S"))
>> >> >> >> >  ind <- which.min( abs(index(regCond_all) - thisStamp ))
>> >> >> >> >  diveCond$r_wvht[i] <- regCond_all$WVHT[ind]
>> >> >> >> >  diveCond$r_dpd[i] <- regCond_all$DPD[ind]
>> >> >> >> >  diveCond$r_apt[i]  <- regCond_all$APD[ind]
>> >> >> >> >  diveCond$r_mwd[i]  <- regCond_all$MWD[ind]
>> >> >> >> >  diveCond$r_wtmp[i]  <- regCond_all$WTMP[ind]
>> >> >> >> > }
>> >> >> >> >
>> >> >> >> > Error in diveCond$r_wvht[i] <- regCond_all$WVHT[ind] :
>> >> >> >> >   replacement has length zero
>> >> >> >> > In addition: Warning message:
>> >> >> >> > In max(i) : no non-missing arguments to max; returning -Inf
>> >> >> >> > If you could explain the error that would help prevent future
>> >> >> >> > errors.
>> >> >> >> >
>> >> >> >> > Thanks,
>> >> >> >> > Y
>> >> >>
>> >> >>



More information about the R-help mailing list