R: loop through data frame extracting subset of data depending on date

一曲冷凌霜 提交于 2019-12-03 04:37:39

is this what you want ? df_list <- split(data, as.factor(data$date))

Loop through each unique date and build the subset.

uniq <- unique(unlist(data$Date))
for (i in 1:length(uniq)){
    data_1 <- subset(data, date == uniq[i])
    #your desired function
}

After sub-setting your dataset by date, imagine that the function you would like to apply to each subset is to find the mean of the column x. You could do it this way: (df is your dataframe)

 library(plyr)
 ddply(df, .(date), summarize, mean = mean(x))

You can split your data.frame into a list of data.frames like this:

list.of.dfs<-by(data,data$date)

This is a perfect situation for the plyr package:

require(plyr)
ddply(my_df, .(date), my_function, extra_arg_1, extra_arg_2)

where my_function is the function you want to perform on the split data frames, and extra_args are any extra arguments that need to go to that function.

ddply (data frame -> data frame) is the form you want if you want your results in a data frame; dlply returns a list.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!