R - 将数据框中的变量转换为因子

时间:2012-01-22 16:29:07

标签: r

我使用RODBC包从SQL查询创建了一个数据框。我有一个单独的单列数据框,其中每行包含主数据集中我想要转换为因子的列的名称。

虽然语法显然是错误的,但这是逻辑。

for(c in 1:length(df.ToFactor$IV)-0) {

 VarToFactor<- as.character(df.ToFactor$IV[c])
 df.dataset[VarToFactor]<-factor(df.HRV[VarToFactor])

}

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

从整数向量中减去零没有多大意义。我怀疑你可能会使用[[<var-name>]]构造:

for(c in 1:length(df.ToFactor$IV) ) {

 VarToFactor<- as.character(df.ToFactor[["IV"]][c])
 df.dataset[[VarToFactor]]<-factor(df.HRV[[VarToFactor]])
      }

我还将“$”操作更改为等效的“[[”操作只是因为它在编程中更安全,尽管我认为在交互式会话中的for循环中它不会导致问题。除了提取页面,其中详细描述了“[[”和“[”,可以在Patrick Burns的“R Inferno”中找到有用的信息。第52页介绍了这一特定领域。