Я пытаюсь получить корреляцию для каждой уникальной пары. Это столбцы, в которых указано состояние 1 и 2, год и неделя года. Я хочу получить корреляцию между суммой общего годового значения для каждой уникальной пары штатов.
Мой фрейм данных выглядит следующим образом.
state1 count year week# (corelation column)
v1 x
v1 x
v1 x
v2 x
v2 x
v3 x
Я хочу, чтобы это выглядело так
state1 State2 count year week# (corelation column)
v1 v2 x
v1 v3 x
v1 v4 x
v2 v3 x
v2 v4 x
v3 v4 x
Я хотел, чтобы конечный результат возвращал что-то вроде этого.
State 1 | State 2 | Correlation
Alabama | Alaska | .64
Alabama | Utah | .10
Alabama | Arizona | .20
Alaska | Utah | .59
Alaska | Arizona | .20
Utah | Arazona | .10
Я получаю некоторые данные о заболеваниях из CDC, которые и есть chl16- chl18
temp <- rbind(chl15, chl16, chl17, chl18)
temp[is.na(temp$Chlamydia.trachomatis.infection..Current.week),4] <- 0
datacor <- NULL;
for(i in 1:length(state2)) {
datacor$Year[i] <- temp$MMWR.Year[i]
datacor$State1[i] <- as.character(state2[i])
datacor$State2[i] <- as.character(state2[i])
datacor$corelaiton2015[i] <- print(cor(temp[temp$Reporting.Area == state2[1] & temp$MMWR.Year == 2015, 4], temp[temp$Reporting.Area == state2[i] & temp$MMWR.Year == 2015, 4], use = "complete.obs"))
datacor$corelation2016[i] <- print(cor(temp[temp$Reporting.Area == state2[1] & temp$MMWR.Year == 2016, 4], temp[temp$Reporting.Area == state2[i] & temp$MMWR.Year == 2016, 4], use = "complete.obs"))
datacor$corelation2017[i] <- print(cor(temp[temp$Reporting.Area == state2[1] & temp$MMWR.Year == 2017, 4], temp[temp$Reporting.Area == state2[i] & temp$MMWR.Year == 2017, 4], use = "complete.obs"))
datacor$corelation2018[i] <- print(cor(temp[temp$Reporting.Area == state2[1] & temp$MMWR.Year == 2018, 4], temp[temp$Reporting.Area == state2[i] & temp$MMWR.Year == 2018, 4], use = "complete.obs"))
datacor$Latitude[i] <- loc$LATITUDE[i]
datacor$Longitude[i] <- loc$LONGITUDE[i]
}
datacor <- data.frame(datacor)
Я получаю столбец, который показывает состояния 1 и два, но не дает мне уникальных пар, он также дает мне корреляцию для первого состояния для каждого года с остальными состояниями, а не уникальные пары корреляции.
Пожалуйста, помогите, если это возможно. Спасибо:)