更改数据框中的值名称

时间:2014-04-29 15:05:02

标签: r

我的数据框(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

1 个答案:

答案 0 :(得分:3)

您可以使用gsubX列中删除不需要的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