2016-01-23 45 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] 
相關問題