我正在尝试用适当的分数替换美式字母等级。例如,A变为4.0,A-变为3.7,B +变为3.3,等等。
我似乎无法使用sub来正确获取正则表达式来进行更改。我无法识别它,例如B,B +和B-都是独立的东西,可能是因为我无法让它使正则表达式正确。
答案 0 :(得分:0)
如何创建查找表?
假设您没有多少成绩,您可以创建自己的查找表,如
$purchaseorderinventory=mysqli_query($link,"select * from purchaseorder where ITEM_CODE_MX='".$value."' and SHIP_TO_MX='".$display_branchcode."' and STATUS_PO_MX='RECEIVED'");
while($row3=mysqli_fetch_array($purchaseorderinventory))
{
$imeipo[]=$row3["IMEI_MX"];
}
$implodepo = implode(",",$imeipo);
$explodepo = explode(',', $implodepo);
$beginventory=mysqli_query($link,"select * from inventory where ITEM_CODE_MX='".$value."' and BRANCH_CODE_MX='".$display_branchcode."'");
while($row=mysqli_fetch_array($beginventory))
{
$cid=$row["ID_INVENTORY"];
$itemcode=$row["ITEM_CODE_MX"];
$itemquantity=$row["ITEM_QUANTITY_MX"];
$imei=$row["IMEI_MX"];
$site=$row["SITE_CODE_MX"];
$begexplode = explode(',', $imei);
}
$transfer=mysqli_query($link,"select * from transferinventory where ITEM_CODE_MX='".$value."' and SITE_FROM_MX='".$display_branchcode."'");
while($row2=mysqli_fetch_array($transfer))
{
$imeitransfer[]=$row2["IMEI_MX"];
}
$implodeimeitransfer = implode(",",$imeitransfer);
$transferexplode = explode(',', $implodeimeitransfer);
//diffrence
$inventorydiff = array_diff($transferexplode,$explodepo,$begexplode);
$finalimplode = implode(",",$inventorydiff);
创建一些样本数据
lookup <- read.table(text = "Grade GradePoint
A 4.0
A- 3.7
B+ 3.3
B 3.0
B- 2.7", header = T)
现在您可以使用grades <- read.table(text = "Grade
A
B+
B-", header = T)
用积分替换成绩。
merge
您也可以使用效果相同的merge(lookup, grades, by = "Grade")[2]
# GradePoint
#1 4.0
#2 2.7
#3 3.3
match