我正在研究清理某些數據的解決方案,但並非100%確定最佳解決方案。我找到了一個可行的解決方案,但想知道是否有更簡單的方法(尤其是在試圖擴展它的時候)。我想要做的是分離數據框中的所有元素(用分號分隔),將這些組件中的每一個應用於數據框的元素,然後將結果合併到新的數據框中。下面的例子:跨數據幀循環創建新的數據幀
test <- data.frame(class=c("a1", "a2","a3","a4"),
person=c("p1;p3;p4","p2;p4","p4;p5;p6","p1;p5"),
stringsAsFactors = F)
test1 <- c()
test2 <- c()
for (i in 1:nrow(test)){
test1 <-append(test1, strsplit(test[i,2],";")[[1]])
test2 <- append(test2, rep(test[i,1],length(strsplit(test[i,2],";")[[1]])))
}