问题描述
#### generate scoring function
install.packages("multicon")
library(abind)
library(foreach)
library(multicon)
scoring_RSE<- function(scoreDf){
RSE_items <- data.frame(scoreDf$RSE1,scoreDf$RSE2,scoreDf$RSE3,scoreDf$RSE4,scoreDf$RSE5,scoreDf$RSE6,scoreDf$RSE7,scoreDf$RSE8,scoreDf$RSE9,scoreDf$RSE10)
RSE_score <- composite(RSE_items,R = c(2,5,6,8,9),maxscore = 4)
return(RSE_score)
}
为调查打分。
我创建了一个假数据集来对其进行测试,并且它可以正常工作。这个数据集就像我的列表一样读取列表
RSE_test <- data.frame(matrix(nrow=3,ncol=14))
for(i in 1:3) {
RSE_test[i,1:14] = sample(1:4,14,replace=TRUE)
}
colnames(RSE_test) <- c("col1","col2","col3","col4",paste0("RSE",1:10))
### create a dataframe for all of the reverse items
RSE_test_rev <- RSE_test
#reverse code columns
RSE_test_rev[,c(2,9))] <- 5 - RSE_test[,9))]
#For the dataframe,find the mean of each row manually
RSE_scored_manual <- apply(RSE_test_rev[,c(1:10))],1,function(x) mean(x,na.rm = TRUE))
#test the function we made
RSE_scored_function <- scoring_RSE(RSE_test)
但是,当我插入实际数据集时,会收到此错误...
“-”对要素无意义“-”对要素无意义“-”对要素无意义“-”对要素无意义“-”对要素无意义
df1 <- structure(list(RSE1 = c("1","1","3"),RSE2 = c("1","2",RSE3 = c("2",RSE4 = c("2","4","2"),RSE5 = c("2",RSE6 = c("2",RSE7 = c("2",RSE8 = c("2",RSE9 = c("2",RSE10 = c("2","2")),class = "data.frame",row.names = c(NA,-3L))
我尝试将自己的数据集转换为数字,但是重新格式化了数据框。
surveyResps<-as.numeric(unlist(df1))
或
surveyResps<-unlist(lapply(df1,as.numeric))
即使单独地做专栏,我什至找不到平均值。
有人以前收到过这样的错误或有建议吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)