Я обычно являюсь пользователем клена, который в настоящее время работает с R, и у меня есть проблема с правильной индексацией переменных.Индексирующие переменные в R
Скажем, я хочу определить 2 вектора, v1 и v2, и я хочу вызвать n-й элемент в v1. В клене это легко сделать: v [1]: = некоторый вектор,
и n-й элемент затем вызывается командой v [1] [n]. Как это можно сделать в R? Фактическая проблема заключается в следующем:
У меня есть последовательность M (скажем, длина 10, проиндексированная k) имитируемых переменных негбина. Для каждой из этих имитируемых переменных я хочу построить вектор X длины M [k] с элементами, заданными некоторой формулой. Таким образом, я должен получить 10 разных векторов, каждая из которых имеет разную длину. Мой неверный код выглядит как появится этот
sims<-10
M<-rnegbin(sims, eks_2016_kasko*exp(-2.17173), 840.1746)
for(k in 1:sims){
x[k]<-rep(NA,M[k])
X[k]<-rep(NA,M[k])
for(i in 1:M[k]){x[k][i]<-runif(1,min=0,max=1)
if(x[k][i]>=0 & x[i]<=0.1056379){
X[k][i]<-rlnorm(1, 6.228244, 0.3565041)}
else{
X[k][i]<-rlnorm(1, 8.910837, 1.1890874)
}
}
}
Ошибка быть, что х [к] не является допустимым именем для переменной. Любой способ сделать эту работу?
Большого спасибо :)
'[' используется для индексирования, поэтому 'x [i]' извлекает элемент 'i'th из вектора' x'. Поэтому 'x [k]' действительно не является допустимым именем переменной. Для того, чтобы помочь вам, очень полезен [воспроизводимый пример] (http://stackoverflow.com/q/5963269/4303162). Кажется, что ваш примерный код будет воспроизводимым, если вы предоставили 'eks_2016_kasko' и' rnegbin() 'или' M'. – Stibu
Получает ли 'rnegbin()' пакет 'MASS'? – Stibu
eks_2016_kasko = 486689.1. Правильно, rnegbin действительно из пакета MASS :) – user128836