Я хотел бы получить как можно больше графиков в качестве факторов/значений в переменной.Применить функцию ко всем возможным значениям переменной
Например, я хотел бы построить следующие переменные (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
Ihave определил масштаб как:
scale1 <- names(Data) %in% c("v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8")
Я определил функцию Заговор:
basicgraph<-function(df, title, lab)
{
for(i in 1:length(df))
{
y <- melt(df)
z <- with(y, as.data.frame(table(variable, value, exclude = NULL)))
z <- z[!is.na(z$variable), ]
z$scale <- z$variable
levelss<-levels(z$variable)
}
theme_nogrid <- function (base_size = 12, base_family = "")
{
theme_bw(base_size = base_size, base_family = base_family) %+replace%
theme(panel.grid = element_blank()) +
theme(axis.text.x =element_text(size = base_size * 0.8 , lineheight = 0.9,
vjust = 0.5, hjust=1, angle=90))
}
plot1<-function(z) {
ggplot(data = z, aes(x = variable, y = value, size = Freq))+
geom_point(aes(size = Freq, stat = "identity", position = "identity"), shape = 20, color="black", alpha=0.6) +
scale_size_continuous(range = c(3,15)) +
scale_x_discrete(breaks=levelss,labels=lab)+
xlab("")+ #Afegir/canviar títol eix x
ylab("Response")+ #Afegir/canviar títol eix y
ggtitle(title)+ #Títol a dalt
theme_nogrid()
}
}
Вы заметили, что здесь есть ошибка: 'scale1 <- names (Data)% in% c (" v1, "v2", "v3", "v4", "v5", "v6", " v7 "," v8 ")'? v1 не заключен. – Nikos
Я не заметил, теперь редактируется, спасибо. –