我一直在寻找有关美国命名趋势的一些数据。我设法获得了 2008 年出生的婴儿的前 1000 个名字。数据格式如下:
male.name n.male female.name n.female
Jacob 22272 Emma 18587
Michael 20298 Isabella 18377
Ethan 20004 Emily 17217
Joshua 18924 Madison 16853
Daniel 18717 Ava 16850
Alexander 18423 Olivia 16845
Anthony 18158 Sophia 15887
William 18149 Abigail 14901
Christopher 17783 Elizabeth 11815
Matthew 17337 Chloe 11699
我想得到一个data.frame
有 2 个变量的:name
和gender
. 这可以通过循环来完成,但我认为它解决这个问题的效率很低。我认为某些reshape
功能将满足我的需求。
让我们假设这个制表符分隔的数据被保存到一个data.frame
命名的bnames
. 循环可以用函数完成:
tmp <- character()
for (i in 1:nrow(bnames)) {
tmp <- c(tmp, rep(bnames[i,1], bnames[i,2]))
}
但我想用基于矢量的方法来实现这一点。有什么建议么?