#r
#r
Вопрос:
У меня есть несколько фреймов данных, и, например, 8-й dframe-это dfQ[[8]] :
c(16, 14, 15, 14, 14, 12, 13, 14, 13, 12, 13, 12, 12, 13, 13, 13, 13, 13, 14, 14, 16, 13, 12, 13, 12, 13, 12, 13, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 14, 17, 17, 17, 18, 11, 12, 14, 13, 13, 12, 11, 11, 11, 9, 9, 9, 11, 12, 12, 9, 13, 14, 14, 16, 12, 15, 14, 14, 14, 14, 11, 13, 13, 14, 13, 13, 12, 11, 11, 11, 9, 11, 11, 10, 9, 8, 8, 8, 8, 6, 7, 8, 9, 9, 11, 12, 9, 12, 11, 11, 9, 12, 12, 12, 13, 9, 14, 9, 12, 13, 9, 12, 12, 13, 13, 9, 13, 14, 14, 13, 12, 13, 12, 12, 12, 11, 12, 9, 11, 8, 9, 9, 8, 8, 1)
Его длина составляет 134 дюйма. И я не понимаю, как построить элементы в диапазоне 124:134 для этого фрейма данных?
Я пытаюсь реализовать тот же код, но получаю различия в ошибках для xy cord
st lt;- c(length(dfQ[8]])-10:length(dfQ[8]])) plot(st, dfQ[[8]], type= "o",pch=16,lwd=0.4, lty=3, xlab = 'Steps', ylab = '',cex = 0.6, col = red) abline(h=c(0.000450), lwd=1.5, lty=1, col="black") mtext("MAX F A.U.", col = "black", adj=-0.1, padj= 0.1, cex=0.8) grid(nx = NULL, ny = NULL,lty = 2, col = "gray", lwd = 1)
Комментарии:
1. У вас есть
dfQ[8]]
, в то время как вы должны былиdfQ[[8]]
2. если у меня будет dfQ[8]], я не смогу построить много dfQ на одном графике
Ответ №1:
Вы можете подмножествовать свои значения, используя []
и указав индекс в скобках.
plot(dfQ[[8]][124:134])
Если вы хотите индексировать с помощью length
, то используйте это (вы были довольно близки):
plot(dfQ[[8]][(length(dfQ[[8]])-10):length(dfQ[[8]])])
И если вы хотите сделать это в нескольких кадрах данных, вы можете использовать lengths
.
dfQ = list(rnorm(100), rnorm(110), rnorm(166)) lengths = lengths(dfQ) plot(dfQ[[2]][(lengths[2]-10):lengths[2]])
Комментарии:
1. да, но у меня много фреймов данных, и в каждом из них разное количество элементов, поэтому я пытаюсь использовать length() для каждого фрейма, но это не работает
2. Спасибо за совет!
Ответ №2:
Есть несколько способов
rm(list = ls()) datalt;-c(16, 14, 15, 14, 14, 12, 13, 14, 13, 12, 13, 12, 12, 13, 13, 13, 13, 13, 14, 14, 16, 13, 12, 13, 12, 13, 12, 13, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 14, 17, 17, 17, 18, 11, 12, 14, 13, 13, 12, 11, 11, 11, 9, 9, 9, 11, 12, 12, 9, 13, 14, 14, 16, 12, 15, 14, 14, 14, 14, 11, 13, 13, 14, 13, 13, 12, 11, 11, 11, 9, 11, 11, 10, 9, 8, 8, 8, 8, 6, 7, 8, 9, 9, 11, 12, 9, 12, 11, 11, 9, 12, 12, 12, 13, 9, 14, 9, 12, 13, 9, 12, 12, 13, 13, 9, 13, 14, 14, 13, 12, 13, 12, 12, 12, 11, 12, 9, 11, 8, 9, 9, 8, 8, 1) datalt;-as.data.frame(data) df_124_134=data.frame(data[124:134,]) #data.124.134... #1 12 #2 11 #3 12 #4 9 #5 11 #6 8 #7 9 #8 9 #9 8 #10 8 #11 1 plot(df_124_134, yaxt="n", ylab="", xlab="Values between 124 and 134", pch=16, col="darkblue", size=30) axis(2,cex.axis=1.2)
Комментарии:
1. это очень полезный код, но для моих данных (более 100 файлов) это сложно, но имейте в виду для меня
2. Итак, и я забыл спросить: как перевернуть тики на графике так, чтобы 12 было в нулевой позиции, а ноль в конце