我的数据框(mydf):
PL YEAR
a X2013
a X2012
a X2011
b X2013
b X2012
b X2011
我们怎样才能删除所有" X"在YEAR专栏?
我尝试没有成功:
mydf$YEAR <- as.character(mydf$YEAR)
mydf$YEAR[mydf$YEAR == "X"] <- NULL # or just "" instead of NULL
答案 0 :(得分:3)
您可以使用gsub
从X
列中删除不需要的YEAR
。
> mydf
## PL YEAR
## 1 a X2013
## 2 a X2012
## 3 a X2011
## 4 b X2013
## 5 b X2012
## 6 b X2011
> mydf$YEAR <- gsub("X", "", mydf$YEAR) ## or gsub("[^0-9]", "", mydf$YEAR)
> mydf
## PL YEAR
## 1 a 2013
## 2 a 2012
## 3 a 2011
## 4 b 2013
## 5 b 2012
## 6 b 2011
正如评论中所指出的,也可以使用substring
> mydf$YEAR <- substring(mydf$YEAR, 2, 5) ## or substr(...) returns the same