-1
アメリカのスタイルの文字のグレードを適切なグレードのポイントに置き換えようとしています。たとえば、Aは4.0、A-は3.7、B +は3.3などになります。特殊文字を含むRの文字を置換する
変更を加えるためにsubを使って正規表現を正しく取得できないようです。私はB、B +、B-が別々のものであることを認識するのが難しいです。おそらく正規表現を正しく作ることができないからです。
アメリカのスタイルの文字のグレードを適切なグレードのポイントに置き換えようとしています。たとえば、Aは4.0、A-は3.7、B +は3.3などになります。特殊文字を含むRの文字を置換する
変更を加えるためにsubを使って正規表現を正しく取得できないようです。私はB、B +、B-が別々のものであることを認識するのが難しいです。おそらく正規表現を正しく作ることができないからです。
ルックアップテーブルの作成はどうですか?あなたは多くのグレードを持つことがないであろうと、
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
また、同じ効果
lookup[match(grades$Grade, lookup$Grade), ][2]
[こちら]最初のコメント(http://stackoverflow.com/questions/38406236/shorter-method-to-replaceで
match
を使用することができます-ent-in-r) –