我试图匹配姓名、姓氏和名字相同的人,并保持 ID 的最小数值。
我在下面创建了一个测试数据库(比我的实际数据集小得多)并编写了一个嵌套的 for 循环,看起来它正在做它应该做的事情。
但是在更大的数据集上它慢得要命。
我对 apply 函数比较陌生,但它们对于应用函数似乎比数据整理更直观。
对于我在这里所做的事情,有什么更有效的替代方法?我敢肯定有一个简单的解决方案会让我在这里问我摇头,但我不会来。
dta.test<- NULL
dta.test$Person_id <- c(1,2,3,4,5,6,7,8,9,10, 11)
dta.test$FirstName <- c("John", "James", "John", "Alex", "Alexander", "Jonathan", "John", "Alex", "James", "John", "John")
dta.test$LastName <- c("Smith", "Jones", "Jones", "Jones", "Jones", "Smith", "Jones", "Smith", "Johnson", "Smith", "Smith")
dta.test$DOB <- c("2001-01-01", "2002-01-01", "2003-01-01", "2004-01-01", "2004-01-01", "2001-01-01", "2003-01-01", "2006-01-01", "2006-01-01", "2001-01-01", "2009-01-01")
dta.test$Actual_ID <- c(1, 2, 3, 4, 5, 6, 3, 8, 9, 1, 11)
dta.test <- as.data.frame(dta.test)
for(i in unique(dta.test$FirstName))
for(j in unique(dta.test$LastName))
for (k …Run Code Online (Sandbox Code Playgroud)