我用R来分析我的修身.不幸的是,我遇到了这个问题:
我想计算一个新变量,它计算许多变量中每行一个变量的等级.
例:
V1 V2 V3 NewVariable_V1 NewVariable_V2 NewVariable_V3
11 21 35 3 2 1
22 12 66 2 3 1
44 22 12 1 2 3
Run Code Online (Sandbox Code Playgroud)
有谁知道这是怎么做到的吗?我很乐意帮忙.
我现在已经几次解决这个问题了,这次我渴望得到一个有效的解决方案.根本问题是我想用paste函数循环一个变量列表.
dat <- read.csv("some file", header=TRUE)
list.R <- c("IC","IG","DM","IM","IN","EN","RM")
for (RO in list.R){
paste("dat$",RO,"_I", sep="")[
paste("dat$",RO,"_I", sep="") ==
"Strongly disagree"] <- 1
}
Run Code Online (Sandbox Code Playgroud)
我将变量的名称粘贴在一起,但这给了我一个块引号的字符串.我尝试了以下但是到目前为止没有任何工作:
eval(parse(text=paste("dat$",RO,"_I", sep="")))
Run Code Online (Sandbox Code Playgroud)
要么
get(paste("dat$",RO,"_I", sep=""))
Run Code Online (Sandbox Code Playgroud)
你知道如何解决这个问题,以便循环工作吗?我非常感谢你的帮助:)
(我知道在这种情况下我也可以使用as.numeric(levels(dat$IC_I))[dat$IC_I]
但是级别的顺序是错误的)