【问题标题】:Problem dividing column of data.frame with a constant (object of type 'closure' is not subsettable) [duplicate]用常量划分data.frame列的问题('closure'类型的对象不是子集)[重复]
【发布时间】:2011-08-24 21:49:08
【问题描述】:

我不明白为什么 R 不能分割mydata$timestamp。即使我尝试除以nmydata$y 相匹配,它也会爆炸。也许它与整数/数字差异有关,但为什么存在这种差异以及如何在我的示例中解决它?

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"
> 

【问题讨论】:

    标签: r division


    【解决方案1】:

    可能的错字?当然第二个参数也应该是mydata$... 而不是data$...

    mydata$timestamp <- data$timestamp / x_resolution
    

    【讨论】:

      【解决方案2】:

      我认为您输入的是 data$timestamp 而不是 mydata$timestamp

      【讨论】:

      • 欢迎来到 StackOverflow Guy。
      猜你喜欢
      • 2014-08-01
      • 2016-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-01
      • 1970-01-01
      • 2015-06-18
      • 2021-12-26
      相关资源
      最近更新 更多