вот функция, которая работает нормально, но дает вывод в выводе, который я не хочу.
frequencies <- {}
for (k in (1:4))
{
interval <- (t(max_period_set[k]))
intervals <- round(quantile(interval,c(0,0.05,0.15,0.25,0.35,0.45,0.55,0.65,0.75,0.85,0.95,1.0)))
frequency <- {}
for (i in (2:length(intervals)))
{
count = 0;
for (r in (1:length(interval)))
{
if (r == length(interval))
{
if (interval[r] >= intervals[i-1] && interval[r] <= intervals[i])
{
count = count + 1
}
}
else
{
if (interval[r] >= intervals[i-1] && interval[r] < intervals[i])
{
count = count + 1
}
}
}
frequency <- c(frequency,count)
}
frequencies[[length(frequencies)+1]] <- frequency
}
Вывод выглядит следующим образом:
> frequencies
[[1]]
[1] 2 6 5 4 5 4 6 5 5 5 3
[[2]]
[1] 1 7 5 4 5 4 5 6 5 5 3
[[3]]
[1] 3 5 5 4 5 4 6 5 5 5 3
[[4]]
[1] 3 5 5 4 4 6 5 5 5 5 3
Я хотел бы иметь его в следующем формате:
[[], [], [], []] это список списка, к первому элементу которого я могу получить доступ, например, к частотам [1], чтобы получить первый список, и т. д. *
Если это невозможно, как я могу получить доступ к первомусписок значений в моем текущем формате?Частоты [1] не возвращают мне первые значения списка.
Спасибо за вашу помощь!
Ребята, еще один вопрос:
Теперь я могу получить доступ к данным, но япредставляет последнюю строку в другом формате:
[[1]]
[1] 1.00 0.96 0.84 0.74 0.66 0.56 0.48 0.36 0.26 0.16 0.06 0.00
[[2]]
[1] 1.00 0.98 0.84 0.74 0.66 0.56 0.48 0.38 0.26 0.16 0.06 0.00
[[3]]
[1] 1.00 0.94 0.84 0.74 0.66 0.56 0.48 0.36 0.26 0.16 0.06 0.00
[[4]]
[1] 1.000000e+00 9.400000e-01 8.400000e-01 7.400000e-01 6.600000e-01 5.800000e-01 4.600000e-01 3.600000e-01 2.600000e-01 1.600000e-01 6.000000e-02 1.110223e-16
Почему это происходит с точностью?первые три строки такие, как и должно быть, но последняя строка нечетная, числа не являются номерами, не являющимися нарушениями, поэтому их можно представить как число с точностью до 2 после запятой.