通过删除额外的字符重新编码值
Recoding values, by removing extra chars
我的数据集的变量中的大多数值在末尾都有两个额外的字符来表示主题的访问次数,例如 id_0,或 id_24,或 id_48... 如下所示:
subjectid le lt
1 CC0005_0 4022.5 133.8
2 CC0196_0 4099.6 190.7
3 CC0197_0 5518.1 595.0
4 CC0202_48 6604.3 358.2
5 CC0212_0 7047.3 427.8
6 CC0239_24 4935.2 215.7
我的第一个想法是apply和grepl一起使用,但是我不能过去:grepl("*_0", mydata$subjectid)
,这似乎抓住了正确的项目,但是如何重命名它们?
- 如何在不更改“_24”或“_48”的情况下删除“_0”?
我们可以用sub
来匹配字符串末尾($
)后面跟0的_
,替换为空白(""
)
df1$subjectid <- sub("_0$", "", df1$subjectid)
df1$subjectid
#[1] "CC0005" "CC0196" "CC0197" "CC0202_48" "CC0212" "CC0239_24"
我的数据集的变量中的大多数值在末尾都有两个额外的字符来表示主题的访问次数,例如 id_0,或 id_24,或 id_48... 如下所示:
subjectid le lt
1 CC0005_0 4022.5 133.8
2 CC0196_0 4099.6 190.7
3 CC0197_0 5518.1 595.0
4 CC0202_48 6604.3 358.2
5 CC0212_0 7047.3 427.8
6 CC0239_24 4935.2 215.7
我的第一个想法是apply和grepl一起使用,但是我不能过去:grepl("*_0", mydata$subjectid)
,这似乎抓住了正确的项目,但是如何重命名它们?
- 如何在不更改“_24”或“_48”的情况下删除“_0”?
我们可以用sub
来匹配字符串末尾($
)后面跟0的_
,替换为空白(""
)
df1$subjectid <- sub("_0$", "", df1$subjectid)
df1$subjectid
#[1] "CC0005" "CC0196" "CC0197" "CC0202_48" "CC0212" "CC0239_24"