如何清除R中列中的obs值
我有以下数据:如何清除R中列中的obs值,r,data-cleaning,R,Data Cleaning,我有以下数据: 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)
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
我想更改“年龄”列的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
MS.data.在$age中,我们可以使用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
MS.data.in$age极好..我需要时间来理解'sub'是如何工作的..试图通过修改代码来获得间隔的前两位数..失败得很惨!太好了。我需要时间来理解“sub”是如何工作的。我试图通过修改代码来获得间隔的前两位数。失败得很惨!