aaply 在向量上失败
我试图了解如何在向量(在我的例子中是字符串)上使用优秀的 plyr 包的命令。我想我想使用 aaply,但它失败了,要求保证金。但我的向量中没有列或行!
更具体地说,以下命令可以工作,但返回的结果是一个奇怪的列表。 states.df 是一个数据框,region 是州的名称(使用 Hadley 的 map_data("state") 命令返回)。因此,states.df$region 是一个字符串向量(特别是州名称)。 Opinion.new 是一个数字向量,使用州名称命名。
states.df <- map_data("state")
ch = sapply(states.df$region, function (x) { opinion.new[names(opinion.new)==x] } )
我想做的是:
ch = aaply(states.df$region, function (x) { opinion.new[names(opinion.new)==x] } )
其中 ch 是从 Opinion.new 中查找或提取的数字向量。但 aaply 需要一个数组,并且在向量上失败。
谢谢!
I am trying to understand how to use the excellent plyr package's commands on a vector (in my case, of strings). I suppose I'd want to use aaply, but it fails, asking for a margin. But there aren't columns or rows in my vector!
To be a bit more concrete, the following command works, but returns results in a wierd list. states.df is a data frame, and region is the name of the state (returned using Hadley's map_data("state") command). Thus, states.df$region is a vector of strings (specifically, state names). opinion.new is a vector of numbers, named using state names.
states.df <- map_data("state")
ch = sapply(states.df$region, function (x) { opinion.new[names(opinion.new)==x] } )
What I'd like to do is:
ch = aaply(states.df$region, function (x) { opinion.new[names(opinion.new)==x] } )
Where ch is the vector of numbers looked up or pulled from opinion.new. But aaply requires an array, and fails on a vector.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果要在向量上使用 plyr,则必须使用 l*ply,如下所示:
换句话说,sapply 和 laply 是等价的
If you want to use plyr on a vector, you have to use l*ply, as follows:
In other words, sapply and laply are equivalent