這是資料:
| 主題代碼 | 姓名 |
|---|---|
| 401 | 約翰 |
| 422 | 瑪麗 |
| 463 | 彼得 |
我想根據主題代碼的最后兩位數創建唯一 ID。例如:
| ID | 主題代碼 | 姓名 |
|---|---|---|
| S01 | 401 | 約翰 |
| S22 | 422 | 瑪麗 |
| S63 | 463 | 彼得 |
我應該使用哪個庫?在這種情況下我應該使用 case_when() 嗎?
uj5u.com熱心網友回復:
您可以從包中使用str_extract和:str_cstringr
library(tidyverse)
df %>%
mutate(ID = str_c("S", str_extract(Subject_code, "\\d{2}$")))
Subject_code ID
1 401 S01
2 422 S22
3 463 S63
正則運算式模式匹配出現在 string-final ( ) 位置\\d{2}$的兩個igits并提取它們。d$
資料:
df <- data.frame(
Subject_code = c(401, 422, 463))
uj5u.com熱心網友回復:
您可以使用substr paste0:
data$ID <- paste0("S", substr(data$`Subject code`, 2, 3))
例如:
paste0("S", substr(431, 2, 3))
#[1] "S31"
或在dplyr:
library(dplyr)
data %>%
mutate(ID = paste0("S", substr(`Subject code`, 2, 3))
uj5u.com熱心網友回復:
我們可以嘗試sub如下
> transform(df, ID = sub(".", "s", SubjectCode))[c(3, 1, 2)]
ID SubjectCode Name
1 s01 401 John
2 s22 422 Mary
3 s63 463 Peter
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/529429.html
標籤:r数据框
下一篇:按列和類似日期加入
