This question already has answers here:
Error in <my code> : object of type 'closure' is not subsettable

(5个答案)


5年前关闭。




我不明白为什么R无法分割mydata$timestamp。即使我尝试用n除以可以正常运行的mydata$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"
>

最佳答案

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

mydata$timestamp <- data$timestamp / x_resolution

关于r - 使用常数将data.frame列划分问题(类型为 'closure'的对象不可子集化),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7182747/

10-12 22:31