如何解决根据R中的列表创建新的数据框
我想创建约20个新的数据框,并且我希望这些数据框的名称为'matches_ [country]',其中[country]是countrys_list中的国家/地区名称。我以为for循环将是解决方案,但我无法使其正常工作。
这是我尝试过的(结果是df):
countries_list = list('Netherlands','England','Brazil','Argentina','Germany','France','Spain','Italy','Portugal','Croatia','Uruguay','Mexico')
for (i in countries_list) {
matches_i = filter(results,home_team == 'i' | away_team == 'i')
}
有了这个,我想我会为列表中的每个国家得到一个数据框,在每个数据框中都包含该国作为主队或客队的比赛。但是,它会创建没有任何数据的matches_i。
编辑:结果是一张包含国际足球比赛的表格,每场比赛都是一行,列分别是日期,主队,客队,主场得分,客场得分,比赛等。
我该如何解决?
解决方法
您有一些好主意。 但是在对象名称上添加 i 不会匹配“ matches_ [country]”。您将最终得到一个名为matches_i的对象。并且home_team =='i'将查找名为 i 的国家/地区而不是实际的国家/地区名称(这就是您的数据框为空的原因。没有名为i的国家/地区)。 home_team == i(不带引号)将解决问题。
因此,我以较小的<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.min.css"><script src="
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/js/bootstrap-datepicker.min.js"></script><link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"><script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.jquery.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.min.js"></script><link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.4.2/chosen.min.css">
<meta charset="UTF-8" content="text/html" http-equiv="Content-Type" /><form method="POST" action="035-ejemplo-atributos-min-max-html5.php" name="formu" class="formu"><div style="" class="row"><div style="font-style: normal;font-weight: 700;text-transform: uppercase;background: #121212;border-bottom: 1px solid #0A0A0A;outline: 1px solid #0A0A0A; border-top: 1px solid #0a0a0a; outline-offset: -20px;border: 20px solid #181818;box-shadow: 0 0 0 1px #0A0A0A;height: 69px;"><div style="padding: 10px;font-style: normal;font-weight: 700;text-transform: uppercase;color: #8A8A8A;font-family: source code pro;font-size: 11px;text-align: center;text-shadow: 1px 1px 0 #000,-1px 1px 0 #000,1px -1px 0 #000,-1px -1px 0 #000;"><table><tbody><tr><td><div style="height: 40px;width: 40px;background: #151515;border: 1px solid #0a0a0a;text-shadow: 1px 1px 0 #0A0A0A,-1px 1px #0A0A0A,1px -1px 0 #0A0A0A,-1px -1px #0A0A0A;color: #352534;display: flex;justify-content: center;align-items: center;float: left;"><i class="fas fa-chess" style="font-size: 15px"></i></span></div><div style="height: 40px;width: 255px;text-transform: uppercase;border: 1px solid #0A0A0A;background: #111;font-weight: 700;text-align: center;line-height: 40px;"><select class="raza fueb2" style="max-width: 390px!important; border: none; padding: 10px 90px 10px 0px;"><option hidden value="" disabled selected>Raza</option><option value="brujas">Brujas y brujos</option>
<option value="eva">Hijos de Eva</option>
<option value="humanos">Humanos</option>
<option value="licantropos">Licántropos</option>
<option value="sirenas">Sirenas y tritones</option>
<option value="vampiros">Vampiros</option>
</select></div></td><td><div style="height: 40px;width: 40px;background: #151515;border: 1px solid #0a0a0a;text-shadow: 1px 1px 0 #0A0A0A,-1px -1px #0A0A0A;color: #352534;display: flex;justify-content: center;align-items: center;float: left;"><i class="fas fa-flag" style="font-size: 15px"></i></span></div><div style="height: 40px;width: 255px;text-transform: uppercase;border: 1px solid #0A0A0A;background: #111;font-weight: 700;text-align: center;line-height: 40px;"><select class="nivel fueb2" style="max-width: 390px!important; border: none; padding: 10px 90px 10px 0px;"><option hidden value="" disabled selected>Nivel</option><option value="0">Nivel nato</option>
<option value="1">Nivel primario</option>
<option value="2">Nivel medio</option>
<option value="3">Nivel total</option>
</select></div></td></tr></tbody></table></div></div>
<div style="padding: 10px; border-top: 1px solid #0a0a0a; text-transform: uppercase; background: #111; border-bottom: 1px solid #0a0a0a;"><table style=" display: flex; justify-content: center; align-items: center; "><tbody><tr><td><div class="stats" style=" width: 90px; "><input id="fue" type="text" class="fue fuec2" value="" placeholder="0"> Fuerza</div></td><td><div class="stats" style=" width: 90px; "><input id="mag" type="text" class="mag" value="" placeholder="0"> Magia</div></td><td><div class="stats"><input id="res" type="text" class="res" value="" placeholder="0"> Resistencia</div></td><td><div class="stats" style="width: 120px;"><input id="vel" type="text" class="vel" value="" placeholder="0"> Velocidad</div></td><td><div class="stats" style=" width: 115px; "><input id="vit" type="text" class="vit" value="" placeholder="0"> Vitalidad</div></td></tr></tbody></table></div>
<div style="display: none"><input type="number" name="edad" placeholder="Edad" id="edad"/></div>
<div style="font-style: normal;font-weight: 700;text-transform: uppercase;background: #121212;border-bottom: 1px solid #0A0A0A;outline: 1px solid #0A0A0A;border-top: 1px solid #0a0a0a;outline-offset: -15px;border: 15px solid #181818;box-shadow: 0 0 0 1px #0A0A0A;"><table style="
padding: 5px;
"><tbody><tr><td><div style="height: 30px;width: 30px;background: #151515;border: 1px solid #0a0a0a;text-shadow: 1px 1px 0 #0A0A0A,-1px -1px #0A0A0A;color: #352534;display: flex;justify-content: center;align-items: center;float: left;"><i class="fas fa-fist-raised" style="font-size: 15px"></i></div><div style="height: 30px;width: 95px;text-transform: uppercase;border: 1px solid #0A0A0A;background: #111;font-weight: 700;text-align: center;line-height: 30px;"><select class="select fuerza fuea2" id="fuerzaselect" onchange="updateFuerzaInputValue()" style="
border: none;
padding: 0;
">
<option hidden="" disabled="" selected="" data-price="0" value="Fuerza">Fuerza</option>
<option data-price="0" value="0">0</option>
<option data-price="-2" value="1">+1 FUE</option>
<option data-price="-4" value="2">+2 FUE</option>
<option data-price="-6" value="3">+3 FUE</option>
<option data-price="-8" value="4">+4 FUE</option>
<option data-price="-10" value="5">+5 FUE</option>
<option data-price="-12" value="6">+6 FUE</option>
<option data-price="-14" value="7">+7 FUE</option>
<option data-price="-16" value="8">+8 FUE</option>
<option data-price="-18" value="9">+9 FUE</option>
<option data-price="-20" value="10">+10 FUE</option>
<option data-price="-22" value="11">+11 FUE</option>
<option data-price="-24" value="12">+12 FUE</option>
<option data-price="-26" value="13">+13 FUE</option>
<option data-price="-28" value="14">+14 FUE</option>
<option data-price="-30" value="15">+15 FUE</option>
<option data-price="-32" value="16">+16 FUE</option>
<option data-price="-34" value="17">+17 FUE</option>
<option data-price="-36" value="18">+18 FUE</option>
<option data-price="-38" value="19">+19 FUE</option>
<option data-price="-40" value="20">+20 FUE</option>
</select></div></td><td><div style="height: 30px;width: 30px;background: #151515;border: 1px solid #0a0a0a;text-shadow: 1px 1px 0 #0A0A0A,-1px -1px #0A0A0A;color: #352534;display: flex;justify-content: center;align-items: center;float: left;"><i class="fas fa-hand-sparkles" style="font-size: 15px"></i></div><div style="height: 30px;width: 95px;text-transform: uppercase;border: 1px solid #0A0A0A;background: #111;font-weight: 700;text-align: center;line-height: 30px;"><select class="select magia" id="magiaselect" onchange="updateMagiaInputValue()" style="
border: none;
padding: 0;
">
<option hidden="" disabled="" selected="" data-price="0" value="Magia">Magia</option>
<option data-price="0" value="0">0</option>
<option data-price="-2" value="1">+1 MAG</option>
<option data-price="-4" value="2">+2 MAG</option>
<option data-price="-6" value="3">+3 MAG</option>
<option data-price="-8" value="4">+4 MAG</option>
<option data-price="-10" value="5">+5 MAG</option>
<option data-price="-12" value="6">+6 MAG</option>
<option data-price="-14" value="7">+7 MAG</option>
<option data-price="-16" value="8">+8 MAG</option>
<option data-price="-18" value="9">+9 MAG</option>
<option data-price="-20" value="10">+10 MAG</option>
<option data-price="-22" value="11">+11 MAG</option>
<option data-price="-24" value="12">+12 MAG</option>
<option data-price="-26" value="13">+13 MAG</option>
<option data-price="-28" value="14">+14 MAG</option>
<option data-price="-30" value="15">+15 MAG</option>
<option data-price="-32" value="16">+16 MAG</option>
<option data-price="-34" value="17">+17 MAG</option>
<option data-price="-36" value="18">+18 MAG</option>
<option data-price="-38" value="19">+19 MAG</option>
<option data-price="-40" value="20">+20 MAG</option></select></div></td><td><div style="height: 30px;width: 30px;background: #151515;border: 1px solid #0a0a0a;text-shadow: 1px 1px 0 #0A0A0A,-1px -1px #0A0A0A;color: #352534;display: flex;justify-content: center;align-items: center;float: left;"><i class="fas fa-shield-alt" style="font-size: 15px"></i></div><div style="height: 30px;width: 117px;text-transform: uppercase;border: 1px solid #0A0A0A;background: #111;font-weight: 700;text-align: center;line-height: 30px;"><select class="select resistencia" id="resistenciaselect" onchange="updateResistenciaInputValue()" style="
border: 0;
padding: 0;
">
<option hidden="" disabled="" selected="" data-price="0" value="Resistencia">Resistencia</option>
<option data-price="0" value="0">0</option>
<option data-price="-5" value="1">+1 RES</option>
<option data-price="-10" value="2">+2 RES</option>
<option data-price="-15" value="3">+3 RES</option>
<option data-price="-20" value="4">+4 RES</option>
<option data-price="-25" value="5">+5 RES</option></select></div></td><td><div style="height: 30px;width: 30px;background: #151515;border: 1px solid #0a0a0a;text-shadow: 1px 1px 0 #0A0A0A,-1px -1px #0A0A0A;color: #352534;display: flex;justify-content: center;align-items: center;float: left;"><i class="fas fa-running" style="font-size: 15px"></i></div><div style="height: 30px;width: 106px;text-transform: uppercase;border: 1px solid #0A0A0A;background: #111;font-weight: 700;text-align: center;line-height: 30px;"><select class="select velocidad" id="velocidadselect" onchange="updateVelocidadInputValue()" style="
border: 0;
padding: 0;
">
<option hidden="" disabled="" selected="" data-price="0" value="Velocidad">Velocidad</option>
<option data-price="0" value="0">0</option>
<option data-price="-5" value="1">+1 VEL</option>
<option data-price="-10" value="2">+2 VEL</option>
<option data-price="-15" value="3">+3 VEL</option>
<option data-price="-20" value="4">+4 VEL</option>
<option data-price="-25" value="5">+5 VEL</option></select></div></td><td><div style="height: 30px;width: 30px;background: #151515;border: 1px solid #0a0a0a;text-shadow: 1px 1px 0 #0A0A0A,-1px -1px #0A0A0A;color: #352534;display: flex;justify-content: center;align-items: center;float: left;"><i class="fas fa-heart" style="font-size: 15px"></i></div><div style="height: 30px;width: 106px;text-transform: uppercase;border: 1px solid #0A0A0A;background: #111;font-weight: 700;text-align: center;line-height: 30px;"><select class="select vitalidad" id="vitalidadselect" onchange="updateVitalidadInputValue()" style="
padding: 0;
border: 0;
">
<option hidden="" disabled="" selected="" data-price="0" value="Vitalidad">Vitalidad</option>
<option data-price="0" value="0">0</option>
<option data-price="-1" value="5">+5 VIT</option>
<option data-price="-2" value="10">+10 VIT</option>
<option data-price="-3" value="15">+15 VIT</option>
<option data-price="-4" value="20">+20 VIT</option>
<option data-price="-5" value="25">+25 VIT</option>
<option data-price="-6" value="30">+30 VIT</option>
<option data-price="-7" value="35">+35 VIT</option>
<option data-price="-8" value="40">+40 VIT</option></select></div></td></tr></tbody></table></div></div></div></div>
数据集和较短的results
列表为例。
countries
这是为列表中每个国家/地区生成数据集的循环。
results <- data.frame(home_team = c('Netherlands','England','Brazil'),away_team = c("Spain","Italy","England"))
countries <- list('Netherlands',"Brazil","Spain","Italy")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。