如何从变量中删除第一个元素,尤其是当此变量具有特殊字符时.例如,我有以下专栏:
Date
01/01/2009
01/01/2010
01/01/2011
01/01/2012
Run Code Online (Sandbox Code Playgroud)
我需要有一个如下所示的新列:
Date
2009
2010
2011
2012
Run Code Online (Sandbox Code Playgroud)
RHe*_*tel 137
正如评论中所讨论的,这可以通过将条目转换为Date格式并提取年份来实现,例如:
format(as.Date(df1$Date, format="%d/%m/%Y"),"%Y")
Run Code Online (Sandbox Code Playgroud)
Aja*_*hri 46
library(lubridate)
a=mdy(b)
year(a)
Run Code Online (Sandbox Code Playgroud)
https://cran.r-project.org/web/packages/lubridate/vignettes/lubridate.html http://vita.had.co.nz/papers/lubridate.pdf
Ale*_*der 15
如果所有日期都是相同的宽度,则可以将日期放在向量中并使用子字符串
Date
a <- c("01/01/2009", "01/01/2010" , "01/01/2011")
substring(a,7,10) #This takes string and only keeps the characters beginning in position 7 to position 10
Run Code Online (Sandbox Code Playgroud)
产量
[1] "2009" "2010" "2011"
Run Code Online (Sandbox Code Playgroud)
inv*_*tus 11
当您将变量转换为Date:
date <- as.Date('10/30/2018','%m/%d/%Y')
Run Code Online (Sandbox Code Playgroud)
然后,您可以切出所需的元素并创建新变量,例如year:
year <- as.numeric(format(date,'%Y'))
Run Code Online (Sandbox Code Playgroud)
或月份:
month <- as.numeric(format(date,'%m'))
Run Code Online (Sandbox Code Playgroud)