R 将函数应用于变量的所有可能值
我希望得到与变量中的因子/值一样多的图 例如,我想绘制以下变量(v1、v2、v3、v4、v5、v6、v7、v8),我已将其定义为变量国家所有可能值的刻度。在这种情况下,我得到了三个不同的图 我知道如何单独绘制,例如,在这种情况下,我会使用以下方法: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] ) 我希望我的函数能够
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