希望你们能帮助我。我一直在寻找网络,我找不到答案。 这里是我的数据帧:如何使用ddply从数据框中删除na值?
name city state stars main_category
A Pittsburgh PA 5.0 Soul Food
B Houston TX 3.0 Professional Services
C Lafayette IN 3.0 NA
D Los Angeles CA 4.0 Local Services
E Los Angeles CA 3.0 Local Services
F Lafayette IN 3.5 Mongolian
G Pittsburgh PA 5.0 Doctors
H Pittsburgh PA 4.0 Soul Food
I Houston TX 4.0 Professional Services
我想它做的是通过输出分组城市(按字母顺序)与国家的排名,然后按排名的明星得到的量。这是我所希望的:
name city state stars main_category rank
I Houston TX 4.0 Professional Services 1
B Houston TX 3.0 Professional Services 2
F Lafayette IN 3.5 Mongolian 1
D Los Angeles CA 4.0 Local Services 1
E Los Angeles CA 3.0 Local Services 2
G Pittsburgh PA 5.0 Doctors 1
A Pittsburgh PA 5.0 Soul Food 1
H Pittsburgh PA 4.0 Soul Food 2
这是我的代码行。
l <- ddply(d, c("city", "state", "main_category"), na.rm=T, transform, rank=rank(-stars, ties.method="max"))
这并不能消除拉斐特所具有的NA。我不知道该放什么,我也尝试过na.omit,但是当我尝试这个时,排名列没有出现。
1)使[重复的例子(http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) 。 2)禁止,试试这个 - 'ddply(na.omit(d),...)' – Chase 2014-11-03 02:48:53
但是休斯敦没有得到5星。我很困惑你的输出 – 2014-11-03 02:55:48
@Chase我试过na.omit(d),这就是我得到的:错误:尝试应用非功能 – 2014-11-03 02:56:01