首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用循环调用列名:

如何使用循环调用列名:
EN

Stack Overflow用户
提问于 2018-09-12 05:25:50
回答 1查看 69关注 0票数 2

我是R的新手,我想知道使用for循环调用不同列的最佳方式是什么。

我的代码是这样的:

代码语言:javascript
复制
Variables <- c("Var1","Var2","Var3","Var4","Var5","Var6","Var7")
Years <- c(2015,2016,2017,2018)

for (Year in Years) {
    for (Var in Variables) {
        TT = auc(data[data$Def_Year==Year,]$Good_Bad,
                 data[data$Def_Year==Year,]$Var)
        print (TT)
    }
}

我尝试计算每个变量在每年的AUC ( roc曲线下的面积),以检查信用评分模型的性能稳定性。问题是R不理解$Var命令。在excel中,我有时会使用&来克服这些障碍。我很想听听你的建议。

EN

回答 1

Stack Overflow用户

发布于 2018-09-12 05:40:57

嗨,你可以做这样的事情。请参阅下面的示例代码

代码语言:javascript
复制
df <- data.frame(v1 = c(1,2,3), v2 = c(4,5,6))
variables <- c("v1", "v2")

for(var in variables) {
   print(df[, var])
}
Output:
[1] 1 2 3
[1] 4 5 6

我没有直接解决你的代码,因为它不是被建议完全解决任务,而是给出解决方案的一般指导方针。我建议你通过这个:https://stats.idre.ucla.edu/r/modules/subsetting-data/来更好地理解R中的子集。另请参阅https://cran.r-project.org/doc/manuals/R-lang.html#Indexing来理解R中的索引。

使用$的表单适用于递归对象,如列表和配对列表。它只允许将文字字符串或符号作为索引。也就是说,索引不是可计算的:对于需要计算表达式来查找索引的情况,可以使用x[expr]。将$应用于非递归对象是错误的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52284434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档