我使用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])
}
任何帮助将不胜感激。
答案 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页介绍了这一特定领域。