0

我想遍历数据框的每一行,对其进行测试,然后从行中附加一些数据。问题是当列是因子数据类型时,我从行中附加信息时得到的输出被弄乱了。

for(i in nrow(test)){ print(test[i,]$name) } 

输出:

[1] Bowling Green
129 Levels:  Air Force Akron Alabama Arizona Arizona State Arkansas Arkansas State Army Auburn Ball State Baylor Boise State Boston College Bowling Green Buffalo BYU ... Wyoming

很明显,我想要的只是输出“Bowling Green”而不是打印每个级别。所以我尝试了

for(i in nrow(test)){ print(factor(test[i,]$name)) } 

上面的代码给出了想要的输出,但是,当我在它上面构建以获得完全想要的效果时它失败了:

for(i in nrow(test)){ print(c(factor(test[i,]$name), "one")) } 

输出:

 "61"  "one"
 "94"  "one"

换句话说,它似乎给了我因素的数量

4

1 回答 1

0

当我写这个问题时,我想出了答案。我想我会把它留给其他人,如果它可能有帮助的话。如果版主认为这是个坏主意,请随时删除。解决方案非常简单。看起来我正在访问该因子的基础值,我需要的名称只是被视为“标签”。

将名称列表存储为因子是没有意义的,即使当我从 CSV 文件中读取数据框时,R 自然地构成数据框也是如此。所以这似乎使事情运转良好

test$name<- as.character(test$name)
于 2013-08-29T18:11:09.137 回答