我已根據三件事物索引價格數據:通過指數填寫R中的大量NA數據?
州,日期和UPC(即產品代碼)。
我有一堆價格是NA。
我試圖用以下方式填充新手:對於索引爲(S,D,UPC)的給定缺失價格,填寫所有具有相同S和UPC的數據點的平均價格。即,取日期的平均值。
必須有一個非常簡單的方法來做到這一點,因爲這非常簡單。我一直在使用for循環,但是現在我意識到這非常低效,我想使用一個函數,例如plyr或dplyr中的函數,它將盡可能少地執行所有操作。
upc=c(1153801013,1153801013,1153801013,1153801013,1153801013,1153801013,2105900750,2105900750,2105900750,2105900750,2105900750,2173300001,2173300001,2173300001,2173300001)
date=c(200601,200602,200603,200604,200601,200602,200601,200602,200603,200601,200602,200603,200604,200605,200606)
price=c(26,28,NA,NA,23,24,85,84,NA,81,78,24,19,98,NA)
state=c(1,1,1,1,2,2,1,1,2,2,2,1,1,1,1)
# This is what I have:
data <- data.frame(upc,date,state,price)
# This is what I want:
price=c(26,28,27,27,23,24,85,84,79.5,81,78,24,19,98,47)
data2 <- data.frame(upc,date,state,price)
有什麼建議嗎?謝謝。
對不起,我是新來這個...我想如果你只是告訴我,我做錯了什麼,而不是被動攻擊鏈接和大拇指朝下升值。 – ejn
@ejn - 這不是被動的攻擊,這些問題簡要描述了你需要爲人們提供一個合理的答案。它們基本上是Stackoverflow的「規則」,它可以幫助我們幫助你。 – thelatemail
我現在正在創建一個模擬數據框來向你展示我的意思......我感謝耐心,我將在一個月內完成。 – ejn