R 使用gsub移除部分字符串
我使用下面的代码删除了向量中每个字符串末尾的部分“(MV)”(特别是所有列的行号1和跳过列1,如代码所示),但是,它删除了向量中每个M、V和MV,即使它位于字符串的开头R 使用gsub移除部分字符串,r,gsub,R,Gsub,我使用下面的代码删除了向量中每个字符串末尾的部分“(MV)”(特别是所有列的行号1和跳过列1,如代码所示),但是,它删除了向量中每个M、V和MV,即使它位于字符串的开头 df[1,(-1)]<-gsub("[(MV)]","",df[1,(-1)]) 您确定第一行不应该是列标题吗?这并不是通常设置数据的方式,如果需要使用这些数字进行计算,则会导致问题 无论如何,要从每个字符串中删除(MV),请尝试gsub中的fixed参数,并使模式(MV) df[1,-1]您可以使用gsub中的fixe
df[1,(-1)]<-gsub("[(MV)]","",df[1,(-1)])
您确定第一行不应该是列标题吗?这并不是通常设置数据的方式,如果需要使用这些数字进行计算,则会导致问题 无论如何,要从每个字符串中删除
(MV)
,请尝试gsub
中的fixed
参数,并使模式(MV)
df[1,-1]您可以使用gsub
中的fixed
参数,可能使用“(MV)
作为模式。示例:x@RichardScriven我用一个可复制的示例更新了问题您确定第一行不应该是列标题吗?这不是通常设置数据的方式。它应该是列标题,但它来自excel文件。我认为将其作为行而不是列名来清理会更容易。
structure(list(X1 = structure(c(NA, 5447), class = "Date"), X2 = c("AVON(MV)",
"28.34"), X3 = c("BA.(MV)", "750.07"), X4 = c("CMRG(MV)", "10.040000000000001"
), X5 = c("COB(MV)", "143.22999999999999")), .Names = c("X1",
"X2", "X3", "X4", "X5"), row.names = c(NA, -2L), class = "data.frame")
df[1,-1] <- gsub("(MV)", "", df[1,-1], fixed=TRUE)
df
# X1 X2 X3 X4 X5
# 1 <NA> AVON BA. CMRG COB
# 2 1984-11-30 28.34 750.07 10.040000000000001 143.22999999999999