2017-04-10 73 views
-1

的一部分,我有这样一个数据帧:R-替换字符串

2014/15 All codes All admissions 
2014/15 C33-C34 All diseases which can be caused by smoking 
2014/15 C00-D48 All cancers 
2014/15 J00-J99 All respiratory diseases 
2014/15 I00-I99 All circulatory diseases 

,我想做出像今年这样的:

2014 All codes All admissions 
2014 C33-C34 All diseases which can be caused by smoking 
2014 C00-D48 All cancers 
2014 J00-J99 All respiratory diseases 
2014 I00-I99 All circulatory diseases 

我该怎么做呢?

P.S.请记住,我有更多的年份像2015/16,2009/10 ... 所以基本上我想删除“/”后的所有内容。 另外我使用ggplot2和tidyverse。

预先感谢您

+0

我也试过这个: 招生< - gsub(“/ *”,“”,admissions $年) 但它不工作。 – Anastasia

+0

'df $ year < - gsub(“\\ /.+”,“”,df $ year)'会做到这一点。你需要转义'/'字符,而你的'*'表示任意数量的/ s。我用''“'替换'/'后跟一个或多个其他字符。 –

+0

你检查了[lubridate](https://cran.r-project.org/web/packages/lubridate/lubridate.pdf)吗? – Aramis7d

回答

0

或者用子:

x<-"2014/15" 
sub("/.*","",x) 
[1] "2014" 

在你的情况

gsub ("/.*", "", admissions$Year) 
+0

嘿!他们两人都能工作,但它变成了时间序列!我想保留它作为数据框架! – Anastasia

1

我们可以使用substr假定前4个字符总是year

admissions$Year <- substr(admissions$Year, 1, 4)