Я прочитал несколько постов об этом, но до сих пор не получил ответ.Это, наверное, что-то простое, что мне не хватаетУ меня есть функция
GoodmanKruskalGamma(mydata$item1, mydata$totalscore, conf.level=0.95)
Но я бы хотел применить ее автоматически к другим столбцам в моем фрейме данных, а не делать это вручную для каждого элемента
GoodmanKruskalGamma(mydata$item1, mydata$totalscore, conf.level=0.95)
GoodmanKruskalGamma(mydata$item2, mydata$totalscore, conf.level=0.95)
GoodmanKruskalGamma(mydata$item3, mydata$totalscore, conf.level=0.95)
Может кто-нибудь помочь мне, каксоздать цикл?Есть ли другой полезный способ сделать это?
Спасибо!
* решено *
Мне удалось использовать этот код, чтобы найти решение
install.packages("magicfor") #Install Magicfor
library(magicfor) #Load Magicfor package
magic_for(print, silent = TRUE) #Load Magic for
for(coln in c(2:41)) {
print(GoodmanKruskalGamma(newdata[,coln], newdata$totalscore, conf.level=0.95))
} #Perform loop
results <- magic_result_as_dataframe() #Storage results
results #Show results
* ДОПОЛНИТЕЛЬНЫЙ ВОПРОС *
Как я могу сделать код для корреляции между парами столбцов?Например, между элементом и его restscore?
GoodmanKruskalGamma(mydata$item1, mydata$restscore1, conf.level=0.95)
GoodmanKruskalGamma(mydata$item2, mydata$restscore2, conf.level=0.95)
Я пробовал это, но не работало
for(coln in c(2:41)) {
for(coln2 in c(48:87)) {
print(GoodmanKruskalGamma(newdata[,coln], newdata[,coln2], conf.level=NA))}
} #Perform loop
РЕДАКТИРОВАТЬ: я нашел второе решение, для тех, кто заинтересован
### Calculate Kruskal Gamma between Item and Restscore ###
results3 <- capture.output(
for(coln in c(2:41)) {
for(restn in c(43:82)) {
if(coln + 41 == restn){
print(GoodmanKruskalGamma(newdata[,coln], newdata[,restn], conf.level=NA))
}else{}
}
})