我有一個相對複雜的表格合併/擴展問題。下面我列出了一個示例DATA
和所需的RESULT
表。我有4個因子(SITE
,DATE
,SAMPLE
,TAXA
)和三個數字列(1
,2
,3
)。我需要讓每個SITE
,DATE
和SAMPLE
具有TAXA
1,2,100和150.通過此過程,我需要用適當的信息填充空因子單元格,並用0填充數字列。R:合併表格並用因子信息填充空單元格
對於大型「示例」數據集,我表示歉意,但它們捕獲了我的數據集的複雜性。我的完整數據集有點大,包括4 SITE
,15 DATE
,12 SAMPLE
和167 TAXA
。使用dplyr
的解決方案是首選,但我肯定會接受其他選擇。在excel中這樣做需要一個庫恩的年齡!提前致謝。
DATA
SITE DATE SAMPLE TAXA 1 2 3
NSV 8-Jul-13 Pool 1 10 10 10
NSV 8-Jul-13 Pool 2 10 10 10
NSV 8-Jul-13 Riffle 1 10 10 10
NSV 8-Jul-13 Riffle 2 10 10 10
NSV 23-Oct-13 Pool 1 10 10 10
NSV 23-Oct-13 Pool 2 10 10 10
NSV 23-Oct-13 Riffle 1 10 10 10
NSV 23-Oct-13 Riffle 2 10 10 10
SFP 4-Jul-13 Pool 1 10 10 10
SFP 4-Jul-13 Pool 2 10 10 10
SFP 4-Jul-13 Riffle 1 10 10 10
SFP 4-Jul-13 Riffle 2 10 10 10
SFP 27-Oct-13 Pool 1 10 10 10
SFP 27-Oct-13 Pool 2 10 10 10
SFP 27-Oct-13 Pool 100 10 10 10
SFP 27-Oct-13 Pool 150 10 10 10
SFP 27-Oct-13 Riffle 1 10 10 10
SFP 27-Oct-13 Riffle 2 10 10 10
SFP 27-Oct-13 Riffle 100 10 10 10
SFP 27-Oct-13 Riffle 150 10 10 10
RESULT
SITE DATE SAMPLE TAXA 1 2 3
NSV 8-Jul-13 Pool 1 10 10 10
NSV 8-Jul-13 Pool 2 10 10 10
NSV 8-Jul-13 Pool 100 0 0 0
NSV 8-Jul-13 Pool 150 0 0 0
NSV 8-Jul-13 Riffle 1 10 10 10
NSV 8-Jul-13 Riffle 2 10 10 10
NSV 8-Jul-13 Riffle 100 0 0 0
NSV 8-Jul-13 Riffle 150 0 0 0
NSV 23-Oct-13 Pool 1 10 10 10
NSV 23-Oct-13 Pool 2 10 10 10
NSV 23-Oct-13 Pool 100 0 0 0
NSV 23-Oct-13 Pool 150 0 0 0
NSV 23-Oct-13 Riffle 1 10 10 10
NSV 23-Oct-13 Riffle 2 10 10 10
NSV 23-Oct-13 Riffle 100 0 0 0
NSV 23-Oct-13 Riffle 150 0 0 0
SFP 4-Jul-13 Pool 1 10 10 10
SFP 4-Jul-13 Pool 2 10 10 10
SFP 4-Jul-13 Pool 100 0 0 0
SFP 4-Jul-13 Pool 150 0 0 0
SFP 4-Jul-13 Riffle 1 10 10 10
SFP 4-Jul-13 Riffle 2 10 10 10
SFP 4-Jul-13 Riffle 100 0 0 0
SFP 4-Jul-13 Riffle 150 0 0 0
SFP 27-Oct-13 Pool 1 10 10 10
SFP 27-Oct-13 Pool 2 10 10 10
SFP 27-Oct-13 Pool 100 10 10 10
SFP 27-Oct-13 Pool 150 10 10 10
SFP 27-Oct-13 Riffle 1 10 10 10
SFP 27-Oct-13 Riffle 2 10 10 10
SFP 27-Oct-13 Riffle 100 10 10 10
SFP 27-Oct-13 Riffle 150 10 10 10
良好的漁獲物,THX。 – r2evans
根據您的評論修正,謝謝! – r2evans
謝謝@Frank和@ r2evans!我使用了一種混合方法....'dply'和'base package'。我的實際數據集比我提供的示例稍微複雜一些(例如,更多的因子列)。所以我使用了我從你的代碼中學到的東西來把東西放在一起。保重。 – Vesuccio