R应用并保留包含性别包的所有行

时间:2017-04-24 16:48:42

标签: r apply na

我正在寻找一种将性别功能应用于名称列表的好方法(我从XML中提取),但我希望保留所有行以便加入其他数据。有什么建议可以解决这个问题吗?

目前,我已经删除了一行名称" Hjuk"来自我的示例脚本。

当性别功能失效时,我想将该性别识别为"未知"或者NA。我的完整数据集相当大,运行大约11000行。感谢您的任何建议。

以下是一个例子:

require(gender)

df0 <- data.frame(c("Sara","Tiffany","Tyler","Rajdeep","Josee","Hjuk"), stringsAsFactors = FALSE)
colnames(df0) <- "v1"
df1 <- apply(df0, 1, function(x) gender(x))
df2 <- do.call(rbind, lapply(df1, data.frame, stringsAsFactors=FALSE))
df2

name proportion_male proportion_female gender year_min year_max
1    Sara          0.0029            0.9971 female     1932     2012
2 Tiffany          0.0034            0.9966 female     1932     2012
3   Tyler          0.9714            0.0286   male     1932     2012
4 Rajdeep          0.7786            0.2214   male     1932     2012
5   Josee          0.0000            1.0000 female     1932     2012

1 个答案:

答案 0 :(得分:1)

您可以使用

执行此操作
df1 <- merge(df0,gender(df0$v1),by.x="v1",by.y="name",all.x=TRUE)