У меня есть несколько портфелей и смоделированные данные о запасах и вы хотите найти способ их суммирования. Пытаюсь сделать это в Excel с vlookups но грохот от потери памяти, поэтому я пытаюсь использовать R. Вот некоторые примерные данные:Поиск и сумма данных моделирования
> p1 = c("a", "b", "c")
> p2 = c("d", "e", "f")
>p3 = c("a", "b", "c", "d", "e", "f")
> s1 = c(1,2,3,4,5,6)
> s1 = c(2,3,4,5,6,7)
> p = rbind(p1, p2)
> s = cbind(s1, s2)
> colnames(p)= c("Stock1", "Stock2", "Stock3")
> rownames(s) = p3
> p
Stock1 Stock2 Stock3
p1 "a" "b" "c"
p2 "d" "e" "f"
> s
s1 s2
a 1 2
b 2 3
c 3 4
d 4 5
e 5 6
f 6 7
Я ищу, чтобы получить такой вывод
p1 "a" "b" "c" 6 9
p2 "d" "e" "f" 15 18
надеялся создать матрицу, как этот
i=1
stocksim = null
while (i < ncol(s)) {
simsum = sum(s[p$stock1,i],s[p$stock2,i],s[p$stock3,i])
stocksim = cbind(stocksim,simsum)
i=i+1
}
Тогда cbind это мой р кадра данных.
Я получаю эту ошибку, Error in p$stock1 : $ operator is invalid for atomic vectors
Пожалуйста, дайте мне знать ваши мысли. Спасибо,
Это отлично подходит для этого небольшого набора, как я могу масштабировать его для больших портфелей и 6000 общих портфелей и 1000 симуляций? – JB17
Приведенный ниже код работает также для большего количества p и s, если они находятся в том же формате, что и ваш пример. – etienne