我正在寻找一种将性别功能应用于名称列表的好方法(我从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
答案 0 :(得分:1)
您可以使用
执行此操作df1 <- merge(df0,gender(df0$v1),by.x="v1",by.y="name",all.x=TRUE)