/ / Для циклу в R - створення нового вектора - r, вектор

Для циклу в R - створення нового вектора - r, vector

У мене є ще одна проблема в Р. Мені потрібно об'єднати чотири вектора в один вектор. Уявіть собі чотири вектори однієї довжини, і я хочу об'єднати, як: перший елемент вектора множиться на перший елемент вектора b плюс перший елемент вектора c множимо на перший елемент вектора d.

Ось що я спробував:

 x<-rep(5,5)

a<-seq(1,5,1)

c<-rep(1,5)

d<-rep(2,5)

div<-NULL

for(i in 1:5){

div[i]<-x[i]*a[i]+c[i]*d[i]

div<-rbind(div[i])

}

div

[,1]
[1,]   27

Я дійсно думаю, що результат цього циклу повинен бути вектором, але мій результат - це лише число. Що я роблю неправильно?

Відповіді:

2 для відповіді № 1

так, div<-rbind(div[i]) це неправильно, не повинно бути там взагалітому що він перезаписує всі ваші раніше обчислені дані. Якщо ви видалите його, результат, імовірно, буде правильним, але замість цього ви можете просто виконати векторизовану операцію, і не потрібно циклу, наприклад:

div <- a * x + c * d

Це буде виконувати обчислення на кожен набір значень цих 4 векторов; результат буде новий вектор, з яким ви хотіли виконати в результаті.