如何插入“;1“;在R中某列的起始位置?
我的数据(主数据)中有一列名为unit如何插入“;1“;在R中某列的起始位置?,r,regex,string,units-of-measurement,pad,R,Regex,String,Units Of Measurement,Pad,我的数据(主数据)中有一列名为unit master_data$unit <- c("Tonnes","1000 Tonnes","Numbers","1000 Numbers") master_data$unit检查unit是否以数字开头。如果不是,请在开头粘贴1 unit <- c("Tonnes","1000 Tonnes","Numbers","1000 Numbers") ifelse(grepl("^\\d", unit), unit, paste("1", unit)
master_data$unit <- c("Tonnes","1000 Tonnes","Numbers","1000 Numbers")
master_data$unit检查unit
是否以数字开头。如果不是,请在开头粘贴1
unit <- c("Tonnes","1000 Tonnes","Numbers","1000 Numbers")
ifelse(grepl("^\\d", unit), unit, paste("1", unit))
#[1] "1 Tonnes" "1000 Tonnes" "1 Numbers" "1000 Numbers"
unit我们可以使用sub
。这将匹配一个字符串,其中所有字符都是“字字符”,并替换为“1(匹配的字符)”:
单位
master_data$unit_len <- sapply(strsplit(master_data$unit, " "), length)
if (master_data$unit_len == 1) {
paste("1 ", master_data$unit, sep="")
}
unit <- c("Tonnes","1000 Tonnes","Numbers","1000 Numbers")
ifelse(grepl("^\\d", unit), unit, paste("1", unit))
#[1] "1 Tonnes" "1000 Tonnes" "1 Numbers" "1000 Numbers"
unit <- c("Tonnes","1000 Tonnes","Numbers","1000 Numbers")
sub('^(\\w+)$', '1 \\1', unit)
# [1] "1 Tonnes" "1000 Tonnes" "1 Numbers" "1000 Numbers"