循环中的rbind只绑定数字而不是字符

时间:2015-09-05 10:00:42

标签: r loops rbind

我的循环中的rbind遇到了一些问题。

由于某种原因它似乎没有用,我运行脚本打印出数据框中的字符列表,在我的行中我需要“ak”,“aj”,“ar”,“tr”。

它适用于数字。 ie - super< - data.frame(c(1,2,3,4))但它似乎不是字符。

任何人都知道为什么以及如何让它与角色合作?

谢谢

super <- data.frame(c("ak","aj","ar","tr"))
test1 <- data.frame()

for (i in 1:4)
{
  test1 <- rbind(test1,super[i,1])
}
print(test1)

1 个答案:

答案 0 :(得分:1)

现在我不知道你在什么情况下使用它,但这可以在没有for循环的情况下实现:

super <- as.matrix(c("ak","aj","ar","tr"))
test1 <- data.frame()
test1 <- rbind(test1,super)
print(test1)

as.matrix()用于制作超级列向量。

或更简单:

test1 <- data.frame(super=c("ak","aj","ar","tr"))

如果您更喜欢for循环,这也可以:

super <- c("ak","aj","ar","tr")
test1 <- data.frame()
for (i in 1:4){
    test1[i,1] <- super[i]
}
print(test1)

关于为什么数字在你的例子中显示,看起来数字代表字符的字母顺序,我不知道为什么。