【问题标题】:Replacing characters in R that contain special characters [duplicate]替换R中包含特殊字符的字符[重复]
【发布时间】:2016-08-10 07:52:49
【问题描述】:

我正在尝试用适当的成绩点替换美式字母成绩。例如,A 变为 4.0,A- 变为 3.7,B+ 变为 3.3,等等。

我似乎无法正确使用 sub 来获得正则表达式来进行更改。例如,我无法让它识别 B、B+ 和 B- 都是独立的东西,可能是因为我无法让它正确地表达正则表达式。

【问题讨论】:

  • 第一条评论here

标签: regex r


【解决方案1】:

创建一个查找表怎么样?

假设您的成绩不高,您可以创建自己的查找表,例如

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 达到同样的效果

lookup[match(grades$Grade, lookup$Grade), ][2]

【讨论】:

    猜你喜欢
    • 2019-12-04
    • 2014-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-12
    • 1970-01-01
    相关资源
    最近更新 更多