У меня есть проблема, которая, без сомнения, будет решена очень быстро.У меня есть мастер-файл, который содержит все возможные комбинации биржевых тикеров и менеджеров за 5-летний период - этот файл представлен мастерами ниже.Затем у меня есть 20 отдельных файлов, которые представляют квартальные авуары менеджера в каждой из акций (например, фрейм данных).Я хочу изменить квартальную или основную базу данных таким образом, чтобы в случае, если менеджер отбросил свое владение акциями или полностью отказался от менеджера, я назначил им значение 0, в противном случае используется фактическое значение.Таким образом, у меня будет 20 файлов с одинаковыми размерами.
Я подумал, что лучший способ сделать это - использовать left_join из dplyr.Проблема, с которой я столкнулся, заключается в том, что если я использую приведенный ниже код, новый фрейм данных x содержит только 0. Я думаю, это потому, что цифры из firsta не перезаписывают.Мы будем благодарны за любую помощь.
firsta <- data.frame(APPL = c(612,709,1000, 850, 940),
MSFT = c(650,790,100, 80, 910),
IBM = c(740,550, 222, 333, 550),
GOOG = c(0, 1000, 500, 600, 200))
row.names(firsta) <- c("man A", "man B", "man D", "man E", "man f")
Примечание: человек С. отпал.
mastera <- data.frame(APPL = c(0,0,0,0,0,0),
MSFT= c(0,0,0,0,0,0),
IBM = c(0,0,0,0,0,0),
GOOG = c(0,0,0,0,0,0)
)
row.names(mastera) <- c("man A", "man B", "man C" ,"man D", "man E", "man f")
x <- mastera %>% left_join(first)
РЕДАКТИРОВАТЬ - Ожидаемый результат будет примерно таким.То есть существует третий ряд, в котором Man C равен нулю.Фрейм данных x должен состоять из 4 столбцов и 6 строк.
x <- data.frame(APPL = c(612,709,0,1000, 850, 940),
MSFT = c(650,790,0,100, 80, 910),
IBM = c(740,550,0, 222, 333, 550),
GOOG = c(0, 1000,0, 500, 600, 200))