Я пробовал merge
и все серии из for/if
петель, из которых лучшее, что я отчитаю. Я прочитал несколько сообщений, но не смог найти ничего подходящего.интегрировать базы данных разных строк по нескольким условиям в r
У меня есть 2 базы данных, одна из 360 строк, а другая из 60 строк. Я хотел бы добавить некоторые столбцы, присутствующие в меньшем, к большему на четыре условия, повторяя одно и то же число другим условием, чтобы иметь набор данных 360 рядов.
familiarity pb_type sex trial lower upper fit
mate tet m 1 1.760949 3.780915 2.809002
familiar tet m 1 2.020926 3.986183 3.021357
unfamiliar tet m 1 2.570472 4.499613 3.530639
mate stack m 1 3.479230 5.441066 4.500652
familiar stack m 1 2.934518 4.89067 3.904378
«familiarty», «pb_type», «секс» и «испытание» мои условия для выбора строк и создает Уникальную комбинацию.
Я хотел бы добавить другие колонки "lower", "upper" и "fit" к моему более крупному набору данных. Каждая из этих строк должна повторяться 6 раз после условия «id», которое в моей большей базе данных имеет
Я не могу использовать rep
или так потому, что порядок условий в разных по 2 наборам данных (например, в столбце знакомости «мат», не приходит первый в обеих)
Вот что я пробовал: большого набора данных «сырые данные», малые является «моделирование»
max_count <- length(raw_data[,1])
count = 1
raw_data$lower <- NA
raw_data$upper <- NA
raw_data$mean <- NA
for(i in 1:length(simulation[,1])){
if(count<=max_count)
{
j<-count
while(raw_data[j,3] == simulation[i,3] && raw_data[j,4] == simulation[i,4]&& raw_data[j,7] == simulation[i,2] && raw_data[j,8] == simulation[i,1]){
raw_data$lower[[j]] <- simulation$lower[[i]]
raw_data$upper[[j]] <- simulation$upper[[i]]
raw_data$mean[[j]] <- simulation$fit[[i]]
}
count <-count+1
}
}
к сожалению, она идет в бесконечный цикл всегда в одной и той же точке, я думаю, из-за разного порядка условий.
К сожалению, я плохо разбираюсь в пакете dplyr
... это может быть решением.
Я понимаю, что вопрос длинный и сложный, пожалуйста, помогите мне в его доработке!
спасибо за любой вклад все лучшее
Каков был ваш подход с 'merge'? –
'news <-merge (x = simulation, y = raw_data, by = c (" знакомство "," секс "," пробный "," pb_type "), all.y = TRUE)' –