2016-01-23 48 views
-1

当我在R中执行这两个函数时,会返回错误,但一个很好。为什么?我认为这两个函数都返回相同的东西R中的子集函数和过滤函数有什么区别?

impute[1,]$steps <- filter(steps_per_interval, 
          interval==impute[1,]$interval)[,2] 

Error: invalid subscript type 'integer'

impute[1,]$steps <- subset(steps_per_interval, 
          interval==impute[1,]$interval)[,2] 
+0

我们需要查看更多您正在使用的内容。这是'dplyr :: filter'吗?您的代码不可重现。 – hrbrmstr

+1

芬兰人有人说出真相。现在你的下一个问题应该是“* transform'和'mutate' *”有什么区别,最终我会相信。 –

+0

不是'dplyr'迷,呃@DavidArenburg? :-) – hrbrmstr

回答

0

不知道如果我是正确的,但是好像过滤器内你不能让一个参考在同一个表达式组合$[]interval==impute[1,]$interval。相反,您可以尝试:

x < -which(colnames(impute)=="interval") 

library(dplyr) 
impute[1,]$steps <- filter(steps_per_interval, 
         interval==impute[1,x])[,2] 
相关问题