有没有办法使用一个数据框,其中x个标题各包含1个值作为另一个更大数据集的选择标准?
例如:
VH <- na.omit(data_frame[data_frame$distance>=1000 & data_frame$distance<=4000 & data_frame$corde==conditions_course$hippo_corde, c("date_course","handicap.1","distance","corde","nb_part","classement","nom_cheval")])
> VH
date_course handicap.1 distance corde nb_part classement nom_cheval
11 2015-07-25 56 3600 D 17 4 Bushido
16 2015-07-25 56 3600 D 17 5 Ami Sol
32 2015-07-30 55 3700 D 12 8 Pourtoimarco
33 2015-07-10 53 3400 D 9 1 Pourtoimarco
56 2015-07-25 61 3600 D 17 2 Vicomte dAnjou
57 2015-06-30 58 3400 D 17 1 Vicomte dAnjou
73 2015-07-25 59 3600 D 17 3 Besnardine
74 2015-06-30 59 3400 D 17 2 Besnardine
100 2015-07-30 56 3700 D 12 7 Bénuisca
我可以继续添加data_frame$corde==conditions_course$hippo_corde
匹配条件,但除了不优雅之外,它还需要人工干预,而在csv文件中定义标准及其值可以自动化这部分数据选择。
从这里开始编辑 我在这里放了一个文件:http://we.tl/c7gcv5BO9K 该文件包含过去的马匹表演。还有另一个名为infocourse.csv的文件包含相同的标题,只有一行值表示任何一天的比赛条件。 目标是在20个首发(例如)中“找到”每个有20个表演,这些比赛与比赛条件最相关。 距离(+/- 200) corde(完全匹配) libel_hippo(确切) ssp(确切)
以下是我所做的事情,我只想问是否有更通用的方法来设置它。
#I first read all csv of starters
file_names <-list.files(pattern = "\\d")
data_frame <- do.call(rbind,lapply(file_names,read.csv,header=TRUE, sep = ";"))
#then I convert certain fields so they can be matched
data_frame$date_course <- as.Date(data_frame$date_course, "%d/%m/%Y")
data_frame$corde <- as.character(data_frame$corde)
#then this is the part that I'd like to make more customizable
pertinent_RKM<-na.omit(data_frame[data_frame$distance>=2600 & data_frame$distance<=3400 & data_frame$date_course>="2015-06-01" & data_frame$date_course<="2015-09-01", c("date_course","libel_hippo","redkm","distance","nom_cheval","classement","nb_part")])
bestRKM<-aggregate(redkm ~ nom_cheval, pertinent_RKM, mean)
bestRKMtrie<-bestRKM[with(bestRKM, order(redkm)),]
希望这更清楚。由于数据集和条件变量在现实生活中更大,因此它已被简化以用于讨论。 感谢这个伟大的网站和社区!