Я дам вам подробный ответ.Вы хотели бы сделать каждое число в 10 раз меньше предыдущего, что можно сделать с помощью чего-то вроде:
runif(1, min=0, max=25) / 10 ^ (0:4)
Мы включаем 0 в экспоненты, чтобы сохранить исходное число.
Затем вы хотите применить эту операцию к каждому значению в values
, чтобы вы могли использовать для этого sapply
.
sapply(values, "/", 10 ^ (0:4))
Однако, когда каждый результат является вектором, sapply
связывает их все столбец-поэтому мы переносим результат с помощью t
.Поскольку вам нужен фрейм данных, вы можете просто получить:
data.frame(labels=a, t(sapply(values, "/", 10 ^ (0:4))))
И, возможно, впоследствии изменить имена столбцов с помощью colnames
.
Кстати, ваш пример не воспроизводится, labels
не определено.