如何清除 R 中一列中的 obs 值
how to clean the obs values in a column in R
我有以下数据:
head(MS.data.in)
encounter_id patient_nbr race gender age weight admission_type_id
1 2278392 8222157 Caucasian Female [0-10) ? 6
2 149190 55629189 Caucasian Female [10-20) ? 1
3 64410 86047875 AfricanAmerican Female [20-30) ? 1
4 500364 82442376 Caucasian Male [30-40) ? 1
5 16680 42519267 Caucasian Male [40-50) ? 1
6 35754 82637451 Caucasian Male [50-60) ? 2
我想通过取给定间隔的高 2 位数字来更改 'age' 列的 obs,如下所示:
head(MS.data.in$age)
[1] 10 20 30 40 50 60
我们可以使用 sub
通过匹配字符提取值,直到 -
(.*-
) 后跟捕获组 ((\d+)
) 中的数字字符直到字符串结尾 (.*
) 并替换为捕获组的反向引用 (\1
)。
MS.data.in$age <- as.numeric(sub(".*-(\d+).*", "\1", MS.data.in$age))
MS.data.in$age
#[1] 10 20 30 40 50 60
我有以下数据:
head(MS.data.in)
encounter_id patient_nbr race gender age weight admission_type_id
1 2278392 8222157 Caucasian Female [0-10) ? 6
2 149190 55629189 Caucasian Female [10-20) ? 1
3 64410 86047875 AfricanAmerican Female [20-30) ? 1
4 500364 82442376 Caucasian Male [30-40) ? 1
5 16680 42519267 Caucasian Male [40-50) ? 1
6 35754 82637451 Caucasian Male [50-60) ? 2
我想通过取给定间隔的高 2 位数字来更改 'age' 列的 obs,如下所示:
head(MS.data.in$age)
[1] 10 20 30 40 50 60
我们可以使用 sub
通过匹配字符提取值,直到 -
(.*-
) 后跟捕获组 ((\d+)
) 中的数字字符直到字符串结尾 (.*
) 并替换为捕获组的反向引用 (\1
)。
MS.data.in$age <- as.numeric(sub(".*-(\d+).*", "\1", MS.data.in$age))
MS.data.in$age
#[1] 10 20 30 40 50 60