Цели: Создать настраиваемый фрейм данных, который использует переменные двух отдельных фреймов данных. Более конкретно, чтобы использовать переменную имя / идентификатор, которая находится в двух отдельных фреймах данных, вытащите специфицированные c переменные, связанные с переменной имя / идентификатор, а затем настройте выходные данные в одну строку кода для оценки и форматирования модели.
Действия: Ниже я успешно, но неэффективно использовал комбинацию dplyr и a для l oop для достижения указанной выше цели. Кроме того, я приложил фотографии шагов и желаемого результата, чтобы помочь понять проблему.
Проблема: Есть ли более простое решение этой ситуации?
Ниже я есть два фрейма данных, которые я хотел бы использовать для пользовательских сравнений. Фрейм данных 1 - это ромбы с прикрепленными названиями состояний. Фрейм данных 2 имеет имена, которые я хотел бы сравнить.
Первый фрейм данных содержит ключевые переменные, которые мне нужно оценить.
The second data frame has two columns of names that I want to use for comparison:
I want to use the names from the second data frame, to pull out custom variables from data frame 1, and then get them on the same row for evaluation purposes.
введите описание изображения здесь
library(tidyverse)
#Data frame 1 - Merge diamonds dataset w/ state names dataset
diamonds <- diamonds[1:50,]
diamonds$name <- state.name
#rearrange diamonds order
test_diamonds <- diamonds[, c(11, 1:10)]
#Data frame 2 - Create two lists for comparisons
example_names1 <- c("Alabama", "Alaska", "Arizona", "Arkansas")
example_names2 <- c("California", "Colorado", "Connecticut", "Delaware")
comp_names <- data.frame(Group1 = example_names1, Group2 = example_names2)
#combine
df = NULL
for(i in 1:4){
test100 <- test_diamonds %>%
filter(name == example_names1[i]) %>%
select(name, depth, price)
test200 <- test_diamonds %>%
filter(name == example_names2[i]) %>%
select(name, depth, price)
df <- rbind(df, data.frame(test100, test200))
}