R 计算经验年数
我有一个可复制的数据框:R 计算经验年数,r,date,R,Date,我有一个可复制的数据框: df <- data.frame(ID =c(864,121,582,300,765,56,571,819,923,789,438,987,30,446,369,445), city=c("del","mum","nav","pun","bang","chen","triv","vi
df <- data.frame(ID =c(864,121,582,300,765,56,571,819,923,789,438,987,30,446,369,445),
city=c("del","mum","nav","pun","bang","chen","triv","vish","del","mum","bang","vish","bhop","kol","noi","gurg"),
name= c("xab","Lan","mun","mmc","aaf","nnhu","njam","jiha","ntha","gydbt","hytb","kula","huta","vcge","bhsue","nudj"),
DOJ = c("9/5/2005","8/23/2006","3/30/2006","5/29/2009","12/29/2009","6/20/2005","10/2/2010","11/15/2003","3/3/2004","4/23/2004","7/28/2003","8/27/2004","6/14/2007","3/24/2007","9/29/2009","9/4/2007"))
df尝试以下解决方案:
#Format date
df$DOJ <- as.Date(df$DOJ,'%m/%d/%Y')
#Compute variable
df$Tenure <- round(as.numeric(difftime(Sys.Date(),df$DOJ,units = 'weeks')/52.25),0)
您的数据集没有出生日期,但新变量中类似于df$NewVar Date2+20
的条件应该会产生您想要的结果。我现在收到错误,以前它是as.POSIXlt.character(x,tz,…)中的工作错误:字符串不是标准的无歧义格式format@rjunkie2请检查您的数据结构。可能某些日期是因子或具有其他格式。df$NewVar df$DOB+20 ok将进行检查,但这也会在df$DOB+20中给出错误:二进制运算符>类(雇用日期)[1]“日期”的非数字参数,但它表示只有日期格式您的方法应该有效。我在虚拟数据上进行了测试,它是有效的。任何变量都是字符!
ID city name DOJ Tenure
1 864 del xab 2005-09-05 15
2 121 mum Lan 2006-08-23 14
3 582 nav mun 2006-03-30 14
4 300 pun mmc 2009-05-29 11
5 765 bang aaf 2009-12-29 11
6 56 chen nnhu 2005-06-20 15
7 571 triv njam 2010-10-02 10
8 819 vish jiha 2003-11-15 17
9 923 del ntha 2004-03-03 16
10 789 mum gydbt 2004-04-23 16
11 438 bang hytb 2003-07-28 17
12 987 vish kula 2004-08-27 16
13 30 bhop huta 2007-06-14 13
14 446 kol vcge 2007-03-24 13
15 369 noi bhsue 2009-09-29 11
16 445 gurg nudj 2007-09-04 13