В Excel 2013 необходимо выполнить следующие шаги:
У вас не должно быть пробелов в именах столбцов. Имена столбцов должны быть действительными именами переменных для всех сопоставлений столбцов для работы. Лучше не менять имена столбцов, просто иметь отдельный вектор меток, которые вы хотите использовать.
Вот данные с оригинальными именами
shorty_ks <- structure(list(BASEmetab = c(0.11409531425, 0.0716102175833333,
0.09953587425, 0.248902252416667, 0.114263822125, 0.1530849725
), kn2o.Churchill = c(0.0354781748244595, 0.0511254328535874,
0.0351401193406382, 0.0432339955562482, 0.0498228392372491, 0.0342448057447306
), kn2o.Oconnor = c(0.0336761898724322, 0.0447691111499001, 0.0333255117582665,
0.0359191513743014, 0.043530785730249, 0.0324037193153706), kn2o.Owens = c(0.0585830015888074,
0.10004459351892, 0.0583011578948275, 0.102948639254916, 0.0987018589393615,
0.0575186770232462)), .Names = c("BASEmetab", "kn2o.Churchill",
"kn2o.Oconnor", "kn2o.Owens"), row.names = c(NA, 6L), class = "data.frame")
Затем просто создайте вектор из «симпатичных» имен
col_labels <- c(
kn2o.Churchill="Churchill et al. (1962)",
kn2o.Oconnor="OConnor and Dobbins (1958)",
kn2o.Owens="Owens (1964)")
Тогда вы можете использовать это для меток в цикле
colNames <- names(shorty_ks)[2:4]
for(i in colNames){
plt <- ggplot(shorty_ks, aes_string(x=i, y = "BASEmetab")) +
xlab(bquote(. (col_labels[i])~k~(h^-1)))+
ylab(expression(BASEmetab~k~(h^-1)))+
theme_gray()+
geom_smooth(method="lm",se=FALSE) + geom_point() +
scale_color_brewer(palette="Dark2")
print(plt)
}
y = "BASEmetab"
-y = BASEmetab
(не нужны кавычки). Благодаря! – Nick Dylla 14 July 2018 в 00:22aes_string()
, который ожидает значения символа, а не буквальный вектор или символ. – MrFlick 14 July 2018 в 00:26Error: Aesthetics must be either length 1 or the same as the data (42): x, y
– Nick Dylla 14 July 2018 в 00:53