我想知道是否有人在这里能帮助我。我有两个数据帧包含3列:names
,gender
amount
,两年不同。我希望能够比较每个数据框中名称的起起落落。比较R中两个数据帧的值
预先感谢您!
编辑 -
d=read.table("names2000.txt",header=FALSE,sep=",")
colnames(d)=c('name','gender','amount')
这为今年2000
提供数据。然后我用do.call(rbind, by(d, list(d$gender), FUN=head,5))
找到前5名男性和女性的名字,其返回
name gender amount
F.1 Linda F 80412
F.2 Mary F 65443
F.3 Patricia F 47920
F.4 Barbara F 41560
F.5 Susan F 38019
M.6107 James M 86139
M.6108 Robert M 83534
M.6109 John M 79396
M.6110 Michael M 65141
M.6111 David M 60704
为我所用
j=read.table("names2010.txt",header=FALSE,sep=",")
colnames(j)=c('name','gender','amount')
这为今年“2010”的返回数据的第二数据帧我试图再次使用do.call(rbind, by(d, list(d$gender), FUN=head,5))
发现男性和女性在今年的前5名,但我得到的错误信息
> "Error in tapply(seq_len(33983L), list(c(1L, 1L, 1L, 1L, 1L, 1L, 1L,
> 1L, : arguments must have same length"
我想例如是否比较前10名VALU与2010年数据集相比,2000年数据框的数据增长或下降。有没有一种方法可以计算出两年内名称增加最多的金额?
请发布一些您的数据样本,以及您迄今为止所做的任何尝试。 [请阅读这篇文章](http://whathaveyoutried.com) – Barranka 2014-10-07 19:58:55
我已经编辑了上述内容,以包含我的数据的一个小样本。它返回两个数据框的表格,每个表格列出了当年出生的婴儿的名字,按女性的数量从大到小的顺序排列,然后是男性。对不起,我没有其他的东西了。我真的不知道该从哪里开始:( – Frankj77 2014-10-07 20:27:47
)你的问题现在处于暂停状态,所以它不能得到任何答案。你认为你是别人并问自己:“我能帮助这个人吗?有足够的信息吗?“请阅读:[帮助中心:如何问一个好问题](http://stackoverflow.com/help/How-to-ask)。编辑你的问题并添加一个数据样本(它不我们很乐意提供帮助,但我们需要很好的信息才能开始 – Barranka 2014-10-07 20:46:49