重命名标题
问题描述:
我有一栏:重命名标题
id father mother sex birthdate.x birthdate.y
1 john 0 0 1 <NA> NA
2 mari 0 0 2 01/01/1996 NA
3 paul 0 0 2 <NA> 01/01/1995
4 ralf 0 0 2 <NA> NA
5 kimb 0 0 2 01/01/1997 NA
每次我用它来“合并” birthdate.x
和birthdate.y
,它给了我一个简单的数字时间和金钱。
df1$birthdate.x <- ifelse(is.na(df1$birthdate.y), df1$birthdate.x, df1$birthdate.y)
df1$birthdate.y <- NULL
names(df1)[names(df1)=="birthdate.x"] <- "birthdate"
id father mother sex birthdate
1 john 0 0 1 NA
2 mari 0 0 2 2
3 paul 0 0 2 1
4 ralf 0 0 2 NA
5 kimb 0 0 2 3
答
我们可以pmax
transform(df1, birthdate = pmax(as.character(birthdate.x),
as.character(birthdate.y), na.rm = TRUE))[-(5:6)]
# id father mother sex birthdate
#1 john 0 0 1 <NA>
#2 mari 0 0 2 01/01/1996
#3 paul 0 0 2 01/01/1995
#4 ralf 0 0 2 <NA>
#5 kimb 0 0 2 01/01/1997
'ifelse'失去属性做到这一点;在这种情况下是因子标签。转换为字符,它会起作用。 (具有讽刺意味的是,如果你转换成Date类,你将会遇到同样的问题。) – alistaire
我如何转换成角色? –
'df1 $ birthdate.x alistaire