Great. 

I am CC'ing the list - this is important so that others who may come across 
this thread in the archives know that this question has been resolved.

Cheers,

B.


> On May 9, 2017, at 5:18 PM, Olu Ola <oluola2...@yahoo.com> wrote:
> 
> Thank you!!! It worked.
> 
> Regards,
> Olu
> 
> 
> On Tuesday, May 9, 2017 4:20 PM, Boris Steipe <boris.ste...@utoronto.ca> 
> wrote:
> 
> 
> Pedestrian code, so you can analyze this easily. However entirely untested 
> since I have no ambitionto recreate your input data as a data frame. This 
> code assumes:
> - your data _is_ a data frame
> - the desired column is called food.price, not "food price" (cf. ?make.names )
> 
> # define a function that imputes NA values in the same city, for the same food
> imputeFoodPrice <- function(DF, i) {
>   sel <- DF$city == DF$city[i] & DF$food == DF$food[i]
>   imputed <- mean(DF$food.price[sel], na.rm = TRUE)
>   if (is.nan(imputed)) { # careful, there might be no other match
>     imputed <- NA
>   }
>   return(imputed)
> }
> 
> 
> # apply the function to replace NA values
> for (iMissing in which(is.na(myDF$food.price))) {
>   myDF$food.price[iMissing] <- imputeFoodPrice(myDF, iMissing)
> }
> 
> 
> B.
> 
> 
> 
> > On May 9, 2017, at 3:14 PM, Olu Ola via R-help <r-help@r-project.org> wrote:
> > 
> > Hello,I have the following food data with some NA values in the food 
> > prices. I will like to replace the NA values in the food price column for 
> > each food item by the mean price of the specific food item for each city. 
> > For example, the price of bean for the household with hhid 102 in the data 
> > set is missing. I will like to replace the missing value with the mean 
> > price of bean for the households living in Paxton city (that is households 
> > 101 and 103). the data set is presented below. Any help will be greatly 
> > appreciated.
> > 
> > | hhid | city | food | food price |
> > | 101 | Paxton | rice | 10 |
> > | 101 | Paxton | beans | 30 |
> > | 101 | Paxton | flour | NA |
> > | 101 | Paxton | eggs | 20 |
> > | 102 | Paxton | rice | NA |
> > | 102 | Paxton | beans | NA |
> > | 102 | Paxton | flour | 34 |
> > | 102 | Paxton | eggs | 21 |
> > | 103 | Paxton | rice | 15 |
> > | 103 | Paxton | beans | 28 |
> > | 103 | Paxton | flour | 32 |
> > | 103 | Paxton | eggs | NA |
> > | 104 | Hull | rice | NA |
> > | 104 | Hull | beans | 34 |
> > | 104 | Hull | flour | NA |
> > | 104 | Hull | eggs | 24 |
> > | 105 | Hull | rice | 18 |
> > | 105 | Hull | beans | 38 |
> > | 105 | Hull | flour | 36 |
> > | 105 | Hull | eggs | 26 |
> > | 106 | Hull | rice | NA |
> > | 106 | Hull | beans | NA |
> > | 106 | Hull | flour | 40 |
> > | 106 | Hull | eggs | NA |
> > 
> > 
> >     [[alternative HTML version deleted]]
> > 
> > ______________________________________________
> > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.
> 
> 

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to