У меня есть матрица, подобная следующей, которая имеет суммарную сумму случайных значений.Пронумеруйте строки и сохраните значения столбцов меньше случайного значения. R
dist<-.25
mat<-matrix(data=runif(150,25,55)*dist, nrow = 500,ncol=150)
mat = t(apply(mat, 1, cumsum))
и то, что я хотел бы сделать, это:
Для каждой строки генерирует новое случайное значение
RV<-runif(1,1,800)
и для всех столбцов в этой строке меньше, чем «RV» делают их = "na". Я также хотел бы сохранить (cbind) случайное значение «RV» для каждой строки
В конце я хотел бы получить матрицу (или dataframe), где первый столбец представляет собой случайное значение «RV», сгенерированное для каждой строки, и все столбцы в этой строке имеют значения меньше «RV» или в противном случае «na»
У меня есть идея, как определить правильные значения для 1 строки за раз, но я не могу понять, как это сделать это с применением функций. Возможно, мне придется цикл это, но мой реальный набор данных имеет около 100000 строк, поэтому я хотел бы избежать для цикла, если это возможно
Y<-data.frame(mat)
Y[1, which(Y[1,1:150]< RV)]
Я думал, что это будет легко, но совершенно в тупик. Любые идеи будут высоко оценили
Ваш пример не воспроизводимым без редактирования, и не ясно, что вы хотите, чтобы вывод выглядеть. Не могли бы вы пересмотреть? – ulfelder
@ulfelder Извините, теперь должно быть лучше. Надеюсь, что это делает проблему более ясной. – Jdan