[R] My very first loop!! I failed. May I have some start-up aid?
Jeff Newmiller
jdnewmil at dcn.davis.ca.us
Sat Aug 19 08:11:08 CEST 2017
Thank you for providing the example code... for the request of running it
multiple times it would have helped if you could have confirmed that the
example ran through without errors... there were a lot of mistakes in it.
Look into using the reprex package to check your example next time.
I don't do this kind of analysis... I really don't know what to expect
from the functions. The final step in your sequence produces a vector of
sixteen values, not 1 value, nor 4 values, so I don't know how to obtain
the 4x3 result you said you expected... I got 16x3.
myframe <- data.frame( ID = c( "Ernie",
"Ernie","Ernie","Ernie","Ernie","Ernie")
, Timestamp = c( "24.09.2012 08:00", "24.09.2012 09:00"
, "24.09.2012 10:00", "25.09.2012 10:00"
, "26.09.2012 10:00", "27.09.2012 10:00"
)
, Longitude = c( 8.481, 8.482, 8.483, 8.481, 8.483, 8.481 )
, Latitude = c( 54.753, 54.753, 54.752, 54.751, 54.752, 54.751 )
, stringsAsFactors = FALSE
)
myframe
#> ID Timestamp Longitude Latitude
#> 1 Ernie 24.09.2012 08:00 8.481 54.753
#> 2 Ernie 24.09.2012 09:00 8.482 54.753
#> 3 Ernie 24.09.2012 10:00 8.483 54.752
#> 4 Ernie 25.09.2012 10:00 8.481 54.751
#> 5 Ernie 26.09.2012 10:00 8.483 54.752
#> 6 Ernie 27.09.2012 10:00 8.481 54.751
# Now this is where my loop is supposed to start. In this example I want
#to run the following functions 3 times. (In real life more often.) How
#do I do that?
library(adehabitatHR)
#> Loading required package: sp
#> Loading required package: deldir
#> deldir 0.1-14
#> Loading required package: ade4
#> Loading required package: adehabitatMA
#> Loading required package: adehabitatLT
#> Loading required package: CircStats
#> Loading required package: MASS
#> Loading required package: boot
library(rgdal)
#> rgdal: version: 1.2-8, (SVN revision 663)
#> Geospatial Data Abstraction Library extensions to R successfully loaded
#> Loaded GDAL runtime: GDAL 1.11.3, released 2015/09/16
#> Path to GDAL shared files: /usr/share/gdal/1.11
#> Loaded PROJ.4 runtime: Rel. 4.9.2, 08 September 2015, [PJ_VERSION: 492]
#> Path to PROJ.4 shared files: (autodetected)
#> Linking to sp version: 1.2-5
myframe$mysampletime <- as.POSIXct( myframe$Timestamp
, format = "%d.%m.%Y %H:%M"
, tz="GMT"
)
set.seed( 42 )
N <- 3
result <- matrix( NA, nrow = 16, ncol = N )
for ( i in seq.int( N ) ) {
mysample <- myframe[ sample( seq_along( myframe[[ 1 ]] )
, 3
, replace=FALSE
)
,
]
mysamplexy <- project( as.matrix( mysample[ , c( "Longitude"
, "Latitude"
)
]
)
, "+proj=utm +zone=32 +ellps=WGS84"
)
colnames( mysamplexy ) <- c( "xCord", "yCord" )
datltraj <- as.ltraj( mysamplexy, mysample$mysampletime, id=mysample$ID )
Ddat <- BRB.D( datltraj, Tmax=21600, Lmin=36 )
BRBdat <- BRB( datltraj, D = Ddat, type = "UD", Tmax = 21600, Lmin = 36, hmin = 100 )
result[ , i ] <- kernel.area( BRBdat, unout = "km2" )
}
#> Warning in kernel.area(BRBdat, unout = "km2"): The grid is too small to allow the estimation of home-range
#> for the following value of percent: 70,75,80,85,90,95. You should rerun kernelUD with a larger extent parameter
#> Warning in kernel.area(BRBdat, unout = "km2"): The grid is too small to allow the estimation of home-range
#> for the following value of percent: 30,35,40,45,50,55,60,65,70,75,80,85,90,95. You should rerun kernelUD with a larger extent parameter
#> Error in getvolumeUD(x, standardize = standardize): NA/NaN/Inf in foreign function call (arg 1)
result
#> [,1] [,2] [,3]
#> [1,] 0.02271428 0.01841934 NA
#> [2,] 0.02916494 0.02374206 NA
#> [3,] 0.03599915 0.02943263 NA
#> [4,] 0.04326174 0.03558258 NA
#> [5,] 0.05102744 0.04230549 NA
#> [6,] 0.05937594 0.04978273 NA
#> [7,] 0.06842678 0.05844826 NA
#> [8,] 0.07832443 0.06780540 NA
#> [9,] 0.08940262 0.06780540 NA
#> [10,] 0.10219933 0.06780540 NA
#> [11,] 0.11765102 0.06780540 NA
#> [12,] 0.13991202 0.06780540 NA
#> [13,] 0.19924810 0.06780540 NA
#> [14,] 0.19924810 0.06780540 NA
#> [15,] 0.19924810 0.06780540 NA
#> [16,] 0.19924810 0.06780540 NA
On Sat, 19 Aug 2017, Dagmar wrote:
> Dear all,
>
> I have a data similar to this:
>
> myframe<- data.frame (ID=c("Ernie", "Ernie","Ernie","Ernie"),
> Timestamp=c("24.09.2012 08:00", "24.09.2012 09:00", "24.09.2012 10:00",
> "25.09.2012 10:00"), Longitude=c("8.481","8.482","8.483","8.481"),
> Latitude=c("54.753","54.753","54.752","54.751")
> )
> myframe
>
> # Now this is where my loop is supposed to start. In this example I want to
> run the following functions 3 times. (In real life more often.) How do I do
> that?
>
> library(adehabitatHR)
> library(rgdal)
> mysample <- myframe[sample(1:nrow(myframe), 3,replace=FALSE),]
> mysample
> mysampletime <- as.POSIXct (strptime(as.character(mysample$Timestamp),
> "%d.%m.%Y %H:%M"), tz="GMT")
> mysamplexy <- project (cbind (mysample$Longitude, mysample$Latitude),
> "+proj=utm +zone=32 +ellps=WGS84")
> colnames(mysamplexy) <- c ("xCord", "yCord")
> ID <- mysample$ID
> datltraj <- as.ltraj(mysamplexy, mysampletime, id=ID)
> Ddat <- BRB.D(datltraj, Tmax=21600, Lmin=36)
> BRBdat <- BRB(datltraj, D= Ddat,type=c("UD"),Tmax=21600,Lmin=36, hmin=100)
> kernel.area(BRBdat, unout=c("km2"))
>
> # unfortunately my data are not a very good example. Sorry about that. But I
> guess you know what I mean.
>
> # Because I wish to run the functions three times I do want a data frame (or
> matrix) in the end, which includes the results (kernel areas): That means 12
> columns and the three lines.
>
> # How do I do that?
>
> Many thanks in advance,
>
> Tagmarie
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
>
---------------------------------------------------------------------------
Jeff Newmiller The ..... ..... Go Live...
DCN:<jdnewmil at dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go...
Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with
/Software/Embedded Controllers) .OO#. .OO#. rocks...1k
More information about the R-help
mailing list