Я пытаюсь поместить имя элемента в заголовок графика при запуске. Проблема в том, что имена не повторяются, только первое имя отображается на всех графиках.lapply: создание нескольких графиков 3D-разброса с разными заголовками
Пример данных и код:
if(!require(scatterplot3d)) {
install.packages("scatterplot3d"); require(scatterplot3d)}
head(palha_antes)
X.mm Y.mm Altura.mm Rugosidade.mm
1 0 0 198.421 24.677
2 20 0 189.377 33.721
3 40 0 199.212 23.886
4 60 0 196.857 26.241
5 80 0 193.048 30.050
6 100 0 204.922 18.176
tratamentos = list(palha_antes, palha_depois, exposto_antes, exposto_depois)
names = c("Tratamento com palha antes da chuva",
"Tratamento com palha depois da chuva",
"Tratamento sem palha antes da chuva",
"Tratamento sem palha depois da chuva")
names(tratamentos) <- names
par(mfrow = c(2,2))
lapply(tratamentos, function (x) {
scatterplot3d(as.numeric(unlist(x[1])), as.numeric(unlist(x[2])),
as.numeric(unlist(x[3])), xlab = "X (mm)",ylab = "Y (mm)",
main = lapply(names(tratamentos), function(y) y), zlab = "Altura (mm)", pch = 20)
})
par(mfrow = c(1,1))
Часть main = lapply(names(tratamentos), function(y) y)
не работает, как должно: 1
Если я ставлю е как функция у main = lapply(names(tratamentos), function(y) x)
, сюжет получить все значения из переменная x, а не имя. Итак, есть ли у вас предложение решить эту часть кода? Спасибо.
Вчера я пытался что-то вроде вас и получил много проблем, возможно, из-за отсутствия опыта с циклами. Спасибо, Чжэюань. –