我想實作一個功能,如果我自己編碼可能會太復雜,所以我在這里尋求幫助,看看是否有更好的解決方案,從專業的編碼人員:)
你可以在下面找到一個交通起點-終點表的例子(A、B、C都是地點):
data <- data. frame(origin = c("A"。 "A"/span>。 "B", "B"。 "B", "C"),
目的地 = c("B"/span>。 "C", "A"。 "B", "C"。 "A"),
number = c(7。 2, 3。 5, 6, 4))
其中的表格看起來像這樣:
原產地目的地號碼
1 A B 7
2 A C2
3 B A3
4 B B 5
5B C 6
6 C A 4
事實上,每個獨立的原點都應該有3行資料,例如,從A到A,A到B和A到C。但正如你在表中看到的,對于原點A和C,缺少一些資料(原點A到A,而原點C到B和C)。
我想實作的是讓R自動添加缺少的行,并為列number
也就是說,最終的表格應該看起來像下面這樣:
。 origin destination number
1 A A 1
2 A B 7
3 A C2
4 B A 3
5 B B 5
6 B C6
7 C A 4
8 C B 1
9 C C 1
我想知道是否有任何現有的R公式可以潛在地實作這個功能?如果沒有,你有什么建議可以使資料處理的編碼簡短而有效?提前感謝您的幫助!
uj5u.com熱心網友回復:
來自tidyr的complete函式是這樣的:
library(tidyr)
complete(data, origin, destination。 填充= list(number =) 運算子">= 1))
# A tibble: 9 x 3
# origin destination number
# <chr> <chr> <dbl>
# 1 A A 1
# 2 A B 7
# 3 A C 2 # 3 A C 2
# 4 B A 3 # 4 B A 3
# 5 B B 5
# 6 B C 6
# 7 C A 4
# 8 C B 1 # 8 C B 1
# 9 C C 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/332227.html
標籤:
上一篇:前端必學——用JavaScript實作電商圖片放大鏡效果(附代碼)
下一篇:在R中以行為單位移位值
