我有我的數據集,從而檢查第1列值在數據集中出現以前有不同的列值2
df <- data.frame(ID = c("m1","m2","m3","m4","m5","m6","m2","m3","m5","m6","m1","m4","m5"),
Year = c(1,1,1,1,1,1,2,2,2,2,3,3,3))
,並希望ID是否出現在上一年進行檢查。現在我有一個似乎工作的代碼
df$Check <- apply(df, 1, function(x) x["ID"] %in% df[df$Year == (as.numeric(x["Year"]) - 1), "ID"])
但假設我的數據集長達3百萬行,此功能需要很長的時間才能運行。有沒有更好的替代方案?
乾杯,偉大的工程!只需要事先一年訂購數據集 – Gowzie
@Gowzie是的,您需要'df < - arrange(df,Year)'預先。讓我知道它是如何解決你的真實數據的。 – ExperimenteR