R中的子集函数和过滤函数有什么区别?

时间:2016-01-23 23:13:31

标签: r

当我在R中执行这两个函数时,一个返回错误,但一个效果很好。为什么?我认为这两个函数都返回同样的东西。

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

错误:无效的下标类型&#39;整数&#39;

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

1 个答案:

答案 0 :(得分:0)

不确定我是否正确,但似乎在内部过滤器中,您无法在与$相同的表达式中组合[]interval==impute[1,]$interval的引用。相反,你可以尝试:

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

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