R 将函数应用于变量的所有可能值

R 将函数应用于变量的所有可能值,r,plot,ggplot2,apply,R,Plot,Ggplot2,Apply,我希望得到与变量中的因子/值一样多的图 例如,我想绘制以下变量(v1、v2、v3、v4、v5、v6、v7、v8),我已将其定义为变量国家所有可能值的刻度。在这种情况下,我得到了三个不同的图 我知道如何单独绘制,例如,在这种情况下,我会使用以下方法: basicgraph(Data[country==1, scale1] ) basicgraph(Data[country==2, scale1] ) basicgraph(Data[country==3, scale1] ) 我希望我的函数能够

我希望得到与变量中的因子/值一样多的图

例如,我想绘制以下变量(v1、v2、v3、v4、v5、v6、v7、v8),我已将其定义为变量国家所有可能值的刻度。在这种情况下,我得到了三个不同的图

我知道如何单独绘制,例如,在这种情况下,我会使用以下方法:

basicgraph(Data[country==1, scale1] )
basicgraph(Data[country==2, scale1] )
basicgraph(Data[country==3, scale1] ) 
我希望我的函数能够绘制尽可能多的因子/值图形(不指定因子/值的数量)。我尝试过“应用”,但我不能真正让它工作,所以任何线索都可能对我有好处

我有一个数据集,看起来像:

    v1  v2  v3  v4  v5  v6  v7  v8  country
1   NA  NA  NA  NA  NA  NA  NA  NA  1
2   5   5   5   5   5   4   5   5   2
3   4   5   3   5   4   5   5   5   3
4   5   5   5   4   2   4   4   5   1
5   4   3   5   4   4   5   4   5   2
6   5   5   5   2   3   4   3   5   3
7   NA  NA  NA  NA  NA  NA  NA  NA  1
8   3   5   5   5   4   5   4   4   2
9   4   5   5   4   5   5   4   5   3
10  2   4   4   5   4   5   4   5   1
11  4   5   5   3   4   4   4   5   2
12  4   5   4   4   5   4   4   5   3
13  5   5   4   3   3   5   5   5   1
14  3   5   1   2   3   1   4   5   2
我将量表定义为:

scale1  <- names(Data) %in% c( "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8")

scale1这是一个非常令人困惑的问题和例子。我想您想为每个
国家/地区
值生成不同的图表吗?在这种情况下,我建议如下:

library(reshape2)
Data_m <- melt(Data, id.vars="country")  # melt the data into 'long' format

f <- function(d) {  # function that produces a graph and waits
    print(qplot(variable, value, data=d) + ggtitle(unique(d$country)))
    readline()
}

library(plyr)
d_ply(Data_m, .(country), f)  # produces three separate graphs
library(重塑2)

数据\u m您是否注意到这里有一个错误:
scale1我没有注意到,现在已编辑,谢谢。我尝试了您的示例,只得到1个图形。。我不知道我是做错了,还是根本没用;它唯一假定的是
数据
是上面的数据框,并且加载了ggplot2。您知道您需要在每次绘图后按RETURN键才能查看下一个。。。我稍微编辑了代码,以便在每个绘图上方显示
国家
编号。嗯。在尝试之后,我成功了,当那发生时,我接受了你的回答:)
library(reshape2)
Data_m <- melt(Data, id.vars="country")  # melt the data into 'long' format

f <- function(d) {  # function that produces a graph and waits
    print(qplot(variable, value, data=d) + ggtitle(unique(d$country)))
    readline()
}

library(plyr)
d_ply(Data_m, .(country), f)  # produces three separate graphs