我在做分析,其中必須爲一大批分發者生成一組交叉表。數據處於客戶級別,每個客戶都映射到分銷商。由於分銷商的數量很大,我正試圖自動化這一過程。在運行時在R中創建數據幀(動態)
我陷在基於發送者ID
這裏動態創建的數據幀是什麼,我想:
for (i in 1:length(DiD)){ #vector comprising list of distributors
paste("use",DiD[[1]],sep="_") <- subset(master table, Field1=="NA"& Field2=="valid" & Field3==as.character(DiD[[1]]))
}
附加信息:
DiD[[1]] = 1234
所需輸出: 其通過Field1
,Field2
和由DiD=1234
錯誤時拋出包含主數據的子集的數據幀use_1234
: 與色漿部面臨的問題,以及與指定Field3
作爲DiD[[1]]
Error in eval(expr, envir, enclos) :
dims [product 1] do not match the length of object [529]
希望我已經提供了足夠的信息。萬分感謝!
PS:道歉如果問題已在論壇中回答,我找不到它。
你可能想看看'assign'。另外,最好避免使用'subset',而使用'''。 – Thomas
謝謝@Thomas,我會檢查分配。另一個問題是動態創建數據框名稱。任何關於可能出現問題的觀點? –
@agstudy使用'assign'給了你一個很好的答案,這可能會解決你的問題。 – Thomas