我的数据集test[[1]]
可以找到here。
我在下面的代码中定义了一个函数并在for循环中使用它。该函数应该在将它们转换为R变量之前连接诸如(test[[1]], '$', names(test[[1]])[1]))
之类的字符串。因此,在此示例中,这些字符串进出test[[1]]$V1
。
然后我将函数迭代到test[[1]]
中的变量。
不幸的是,我一直收到此错误:Error in stvar(test[[1]], j) <- NULL : could not find function "stvar<-"
。
stvar <- function(df,num) {
eval(parse(text=paste(deparse(substitute(df)),'$',names(df)[num],sep='')))
}
for (j in 1:length(names(test[[1]]))){
if (trimws(as.character(stvar(test[[1]],j)[1]))=="Div" &
grepl("^M",stvar(test[[1]],j)[3])==0) {
stvar(test[[1]],j) <- NULL
}
}
另外,不确定这是否重要,但for循环找到包含某些特征的列(第一次观察==&#34; Div&#34;第三次观察不是以&#39; M& #39;)并删除匹配的列。
有没有办法让循环识别我的功能?