1
我已經與消費者建立了一個數據庫,每一列都是他們見面的條件。我要選擇,所以我對循環做只有符合每個條件的基地,但過濾功能似乎不起作用,並且在每一個基地,我得到0的結果,事件你我知道我應該得到的東西:在`dplyr`過濾器中使用變量
database <- data.frame(ID = 1:10, Con1 = c(1,1,0,1,0,0,0,1,0,1), Con2 = c(1,0,0,0,0,0,0,0,0,0))
varibles <- names(database)[2:3]
for(i in 1:length(varibles)){
tmp <- database %>%
filter_(varibles[i] == 1)
}
我讀,我應該使用過濾器,「_」,但它沒有作用(Use variable names in functions of `dplyr`)
我解決了這個問題不使用dplyr:
tmp <- database
tmp <- tmp[tmp[, varibles[i]] == 1, ]
不,我需要在以後獲得獨立datafremes每個條件,因爲我對他們的工作,並上傳到服務器 –
@MariuszSiatka沒問題,更新了帖子 – akrun
我試過使用你的代碼,但它不起作用。 filter_at的方法會產生錯誤:「function_list [[k]](value)中的錯誤:無法找到函數」filter_at「」並且它在我沒有改變的情況下複製你的代碼時也會出現。我不能也使用「過濾器(UQ(rlang :: sym(varibles [i]))== 1)」,因爲我有舊的R和'rlang'包不可用(對於R版本3.3.1) –