2

I do not understand why R is unable to divide mydata$timestamp. Even if I try to divide by n which went ok with mydata$y, it blows up. Maybe it is related to the integer/numeric difference, but why is this difference there and how do I fix it in my example?

mydata <- read.csv(file="myfile.txt"))
> str(mydata)
'data.frame':   687 obs. of  4 variables:
 $ timestamp: int  8 32 55 78 102 149 196 219 243 266 ...
 $ x        : int  -45 -46 -45 -43 -43 -41 -44 -43 -43 -44 ...
 $ y        : int  -190 -188 -189 -190 -188 -190 -186 -191 -190 -188 ...
 $ z        : int  -194 -192 -195 -194 -193 -197 -193 -193 -194 -196 ...
> head(mydata)
  timestamp   x    y    z
1         8 -45 -190 -194

...

6       149 -41 -190 -197
>   x_resolution <- 1000 # milliseconds
>   n = sqrt(mydata$x^2 + mydata$y^2 + mydata$z^2)
>   mydata$x <- mydata$x / n
>   mydata$y <- mydata$y / n
>   mydata$z <- mydata$z / n
>   mydata$timestamp <- data$timestamp / x_resolution
Error in data$timestamp : object of type 'closure' is not subsettable
>   mydata$timestamp <- data$timestamp / n
Error in data$timestamp : object of type 'closure' is not subsettable
> str(n)
 num [1:687] 275 273 275 275 273 ...
> class(n)
[1] "numeric"
> str(mydata$timestamp)
 int [1:687] 8 32 55 78 102 149 196 219 243 266 ...
> class(mydata$timestamp)
[1] "integer"
> str(mydata$y)
 num [1:687] -0.69 -0.69 -0.687 -0.691 -0.689 ...
> class(mydata$y)
[1] "numeric"
> 
719016
  • 9,922
  • 20
  • 85
  • 158
hlovdal
  • 26,565
  • 10
  • 94
  • 165

2 Answers2

4

I think you've typed data$timestamp rather than mydata$timestamp

joran
  • 169,992
  • 32
  • 429
  • 468
Guy Yollin
  • 43
  • 3
4

Possible typo? Surely the second argument should also be mydata$... not data$...?

mydata$timestamp <- data$timestamp / x_resolution
smci
  • 32,567
  • 20
  • 113
  • 146