R - 对列的应用函数符合某些标准

时间:2017-10-12 20:25:37

标签: r multiple-columns lapply

我设置了这样的函数:

numdate <- function(x) {if(!all(is.na(as.Date(as.character(x),
format="%Y%m%d")))) {
as.Date(as.character(x),format="%Y%m%d")}
else return (x)} 

目的是识别包含&#34; 20161213&#34;等数据的列,并将其更改为日期&#34; 2016-12-13&#34;。

   ValueDate BookDate TranAmt
1  20161219  20161219 189887.5
2  20161216  20161216 20151212
3  20161216  20161216 19229923

我想要的是

   ValueDate   BookDate    TranAmt
1  2016-12-19  2016-12-19  189887.5
2  2016-12-16  2016-12-16  20151212
3  2016-12-16  2016-12-16  192299.23

所以R只更改前两个日期列,并保留第3列(我不知道哪个列是日期,哪个列不是)

d3 <- lapply(d1, numdate) 

将所有值更改为日期,这是我不喜欢的

0 个答案:

没有答案