我有一個包含 15 個變數的資料框(d_activity),每個變數跨越多行。我想要做的是過濾具有特定 ID 的資料。這些 ID 存盤在名為 active_people 的不同資料框中。所以我可以這樣做:
activity_in_use <-filter(d_activity, Id == as.character(active_people[1]))
但是 active_people 有 21 個身份證號碼,所以我必須添加或我認為的陳述:
activity_in_use <-filter(d_activity, Id == as.character(active_people[1])|Id == as.character(active_people[2])|Id == as.character(active_people[3])|Id == as.character(active_people[4])|Id == as.character(active_people[5])|Id == as.character(active_people[6])|Id == as.character(active_people[7])|Id == as.character(active_people[8])|Id == as.character(active_people[9])|Id == as.character(active_people[10])|Id == as.character(active_people[11])|Id == as.character(active_people[12])|Id == as.character(active_people[13])|Id == as.character(active_people[14])|Id == as.character(active_people[15])|Id == as.character(active_people[16])|Id == as.character(active_people[17])|Id == as.character(active_people[18])|Id == as.character(active_people[19])|Id == as.character(active_people[20])|Id == as.character(active_people[21]))
我的問題是,是否可以將其放入回圈中,而不是輸入 21 個不同的 or 陳述句?還是有不同的方法?像這樣的東西:
for (i in 1:length(active_people))
{
activity_in_use <-filter(d_activity, Id == as.character(active_people[i]))
}
但是,這會不斷覆寫自身,所以我最終只得到了 active_people 串列中最后一個 ID 的資料。
非常感謝你!杜威
uj5u.com熱心網友回復:
使用%in%而不是==,因此我們可以洗掉|連同多個陳述句
dplyr::filter(d_activity, Id %in% active_people)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/420122.html
標籤:
