获得';NA';在R中的性别数据包中找不到性别
我想知道我如何才能得到所有的价值,不能与性别包处理。请查看以下代码:获得';NA';在R中的性别数据包中找不到性别,r,missing-data,R,Missing Data,我想知道我如何才能得到所有的价值,不能与性别包处理。请查看以下代码: 图书馆(性别) test=tibble::tribble( ~Name1, “彼得”, “苏珊”, “纽伦堡”, “测试”, “海子”, “他” ) test$Name1给定test作为名称的“矩阵”(实际上是一个tible),您只需使用dplyr::right\u join(),如下所示 library(gender) library(dplyr) # ... # Your code to get the 'test' d
图书馆(性别)
test=tibble::tribble(
~Name1,
“彼得”,
“苏珊”,
“纽伦堡”,
“测试”,
“海子”,
“他”
)
test$Name1给定test
作为名称的“矩阵”(实际上是一个tible
),您只需使用dplyr::right\u join()
,如下所示
library(gender)
library(dplyr)
# ...
# Your code to get the 'test' dataset of names.
# ...
# Consolidate any names (Name1, Name2, ...) into a single column.
consolidated <- data.frame(all_names = as.character(as.vector(as.matrix(test))))
# Get the gender predictions.
genderpred <- gender(consolidated$all_names, method = "ssa")
# Perform the join using the consolidated names.
genderpred <- genderpred %>%
right_join(consolidated, by = c("name" = "all_names"))
通过使用右键连接
,您可以包括测试
中的所有名称:而不仅仅是那些在genderpred
中具有匹配的名称的名称。当这样的名称(如“Nuernberg”
)不匹配时,它将填充一个“空白”的新行(用NA
s填充)
可以找到join
s的dplyr
文档
更新
根据海报,我扩展了代码(如上),以处理test
中的多个名称列。因此,初始测试数据集
test <- tibble::tribble(
~Name1, ~Name2, # ... ~Name_n
"Peter", "Gary", # ... .
"Susan", "Mary", # ... .
"Nuernberg", "Heisenberg", # ... .
"Test", "And", # ... .
"Heiko", "So", # ... .
"He", "Forth" # ... .
)
然后可以根据需要对其进行过滤(dplyr::filter()
)和排序(dplyr::arrange()
)。给定test
作为名称的“矩阵”(实际上是一个tibble
),您可以简单地使用dplyr::right\u join()
)
library(gender)
library(dplyr)
# ...
# Your code to get the 'test' dataset of names.
# ...
# Consolidate any names (Name1, Name2, ...) into a single column.
consolidated <- data.frame(all_names = as.character(as.vector(as.matrix(test))))
# Get the gender predictions.
genderpred <- gender(consolidated$all_names, method = "ssa")
# Perform the join using the consolidated names.
genderpred <- genderpred %>%
right_join(consolidated, by = c("name" = "all_names"))
通过使用右键连接
,您可以包括测试
中的所有名称:而不仅仅是那些在genderpred
中具有匹配的名称的名称。当这样的名称(如“Nuernberg”
)不匹配时,它将填充一个“空白”的新行(用NA
s填充)
可以找到join
s的dplyr
文档
更新
根据海报,我扩展了代码(如上),以处理test
中的多个名称列。因此,初始测试数据集
test <- tibble::tribble(
~Name1, ~Name2, # ... ~Name_n
"Peter", "Gary", # ... .
"Susan", "Mary", # ... .
"Nuernberg", "Heisenberg", # ... .
"Test", "And", # ... .
"Heiko", "So", # ... .
"He", "Forth" # ... .
)
然后可以根据需要对其进行筛选(dplyr::filter()
)和排序(dplyr::arrange()
)。感谢您的帮助!但是,如果我有一个包含多列的矩阵,而不是像我的示例中所有名称都存储在“name1”下那样只有一个维度,那么我该怎么做呢?我不知道为什么需要一个包含多个名称列的test
矩阵。这就是说,如果您希望得到与上面我的genderpred
相同形式的结果,您可以在执行联接时将test
合并到一个name
列中。我将很快添加一个编辑。您好@MaxH.,我刚刚更新了代码以处理带有多个名称列的测试矩阵。谢谢您的帮助!但是,如果我有一个包含多列的矩阵,而不是像我的示例中所有名称都存储在“name1”下那样只有一个维度,那么我该怎么做呢?我不知道为什么需要一个包含多个名称列的test
矩阵。这就是说,如果您希望得到与上面我的genderpred
相同形式的结果,您可以在执行联接时将test
合并到一个name
列中。我将很快添加一个编辑来达到这个效果。Hi@MaxH.,我刚刚更新了代码来处理一个带有多个名称列的test
矩阵。