У меня следующая матрицапеременного образца верхнего значения в R
m <- matrix(c(2, 4, 3, 5, 1, 5, 7, 9, 3, 7), nrow=5, ncol=2,)
colnames(x) = c("Y","Z")
m <-data.frame(m)
Я пытаюсь создать случайное число в каждой строке, в которой верхний предел представляет собой число, основанное на значение переменного (в данном случае 1 * Y на основе значения для каждой строки для для Z)
я в настоящее время:
samp<-function(x){
sample(0:1,1,replace = TRUE)}
x$randoms <- apply(m,1,samp)
, которые работают хорошо работает применяя функцию образца независимо к каждой строке, но я всегда получаю ошибку, когда я пытаюсь Alte r x в образце. Я думал, что смогу сделать что-то вроде этого:
samp<-function(x){
sample(0:m$Z,1,replace = TRUE)}
x$randoms <- apply(m,1,samp)
но, я думаю, это было желаемое за действительное.
В конце концов я хочу результат:
Y Z randoms
2 5 4
4 7 7
3 9 3
5 3 1
1 7 6
Любые идеи?
Ваш пример выдает ошибки - вы получили 'y' в там - что это такое? такой же, как 'x'? Кроме того, вы говорите, что хотите выбрать от 0 до 'x $ Y', но ваш желаемый результат, по-видимому, использует вместо этого' x $ Z' (например, последняя строка, ваш столбец 'Y' равен только 1, поэтому вы должны выбрать из 0 : 1, но у вас есть 6 для ваших «randoms»). Просьба уточнить. –
небрежный быстрый пример от меня - исправьте мои ошибки. – Numidian