Hello folks, I am new to R and I am trying to compute median profit for a particular country in a data frame.I tried below one but it doesn\'t work for me.
David already answered your initial question and showed you one way to find the median for multiple countries. Here is another way:
You can split the data.frame by country to create a list of data.frames
for each country
L <- split(Forbes2000, Forbes2000$country)
Then, you can apply a function to each component of the list with either
lapply or sapply. (sapply simplifies the result to an array, whereas
lapply returns a list)
sapply(L, function(x) {
median(x$sales)
})
or, in one line
sapply(split(Forbes2000, Forbes2000$country), function(x) median(x$sales))
median(Forbes2000$sales[Forbes2000$country == "United States"])
Though it's hard to be certain without knowing what your data frame looks like. If you want to get a data.frame with the median of every country instead of just one, you could do:
library(plyr)
ddply(Forbes2000, "country", function(d) median(d$sales))
(You would have to install the plyr package first, for example by doing install.packages("plyr")).
I was able to calculate median values for a metric in column 11 by US state in dataframe 'outcome3' using:
tapply(outcome3[,11], outcome3$State, median)