Разделите все элементы вектора (с 9 элементами) на первый, второй, ... сотый элемент из другого вектора (с 100 элементами) - PullRequest
0 голосов
/ 09 декабря 2018

Здравствуйте, мне действительно нужна помощь с моей программой на R. У меня есть вектор с девятью элементами, и мне нужно разделить каждый элемент на первый, второй, ...., сотый элемент из другого вектора.Я пытаюсь сделать это для цикла, но он не работает

LCZ2016[1]=DEA['L'][CZ2016,][1] //exp(er[1])
LCZ2016[2]=DEA['L'][CZ2016,][2] //exp(er[2])
.
.
.
LCZ2016[50]=DEA['L'][CZ2016,][1] //exp(er[50])

и т. Д.Пожалуйста, у вас есть идеи?

Ответы [ 2 ]

0 голосов
/ 09 декабря 2018

Это именно то, для чего предназначен outer.

a <- 1:9
b <- 1:100 
out2 <- outer(a, b, '/')
dim(out2)
#[1]   9 100

Сравните с ответом YOLO .

output <- sapply(a, function(x) x/b)

identical(t(out2), output)
#[1] TRUE
0 голосов
/ 09 декабря 2018

Я думаю, что вы можете сделать:

a <- 1:9
b <- 1:100 

output = sapply(a, function(x) x/b)
print(dim(output))

[1] 100   9

Кроме того, вы можете сделать, как предложено @ Andre

sapply(a, /, b)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...