Я генерирую несколько данных с помощью функции cbind и loop.
Давайте предположим, что у меня есть два data.frame.Каждый data.frame имеет значение 100 * 10.
first<-data.frame(replicate(10,sample(0:1,100,rep=TRUE)))
second<-data.frame(replicate(10,sample(2:10,100,rep=TRUE)))
Каждый столбец second
data.frame связан с first
data.frame, генерируя десять 100 * 11 data.frame (первый + один)столбец second
data.frame).
Итак, я создал функцию цикла следующим образом.
for (i in 1:10){
cbind(first,second[,i])}
Эта функция имеет две проблемы.
Первая.после запуска ничего не произошло.Только этот синтаксис появился в окне консоли.
> for (i in 1:10){
+ ti<-cbind(first,second[,i])}
Во-вторых, я хочу сохранить результат в каждом отдельном объекте, например t1
, t2
, t3
, ...., t10
.Итак, я запустил этот код.
for (i in 1:10){
ti<-cbind(first,second[,i])}
Однако, как вы можете подумать, он несколько раз сохраняет результаты в объектах 'ti
'.Итак, объект ti
- это first
фрейм данных + 10-й столбец second
data.frame.
Как создать 10 различных объектов, например t1
, t2
, t3
,t4
..., t10
?
* Дополнительный вопрос: На самом деле, second
data.frame в реальной работе - это более 100 столбцов.Итак, произведенными объектами являются t1
, t2
, .... t100
, .... и продолжение.Есть ли способ сохранить организованные объекты?
* Дополнительный вопрос к ответу Акруна
Действительно, благодаря вашей помощи.Сработало!
Однако появилась новая проблема.То, что я хочу сделать с результатами, было немного сложнее.
Давайте рассмотрим пример с t1
obejct в списке lst1
.Требуется два шага.
Я хочу изгнать функцию data.matrix
с помощью объекта t1
и поместить результат data.matrix
в функцию predict
.(Из-за функциональной причины, исходная функция predict
способна вычислять только data.matrix
)
Если бы это было data.frame
, я бы запустил
data.matrix(t1)
predict(orginalfunction,newx=t1,matrix=TRUE)
Однако, прочитав ваш ответ, я считаю правильным использовать lapply
со списком.data.frame
слишком грязный.
Но как я могу применить функцию data.matrix
к каждому объекту списка и поместить ее в функцию predict
?