我正在使用R并尝试将数据框的两个字符列组合成一个向量。让我们说,这是我的数据
a = c("one", "two", "three")
b = c("four", "five", "six")
data = data.frame(a,b)
现在我试试
c(data$a, data$b)
或
c(data[,"a"], data[,"b"])
两个都给了我
[1] 1 3 2 2 1 3
我希望并且我想要与
相同的输出c(a,b)
即[1] "one" "two" "three" "four" "five" "six"
答案 0 :(得分:3)
这是因为您的列是因素。转换为字符,它会按预期工作:
> data[] <- lapply(data, as.character)
> c(data$a, data$b)
[1] "one" "two" "three" "four" "five" "six"
当然,你总能做到:
> as.character(unlist(data))
[1] "one" "two" "three" "four" "five" "six"
答案 1 :(得分:2)
当您创建数据框时,您的向量将被存储为因子,而不是字符。您必须指定要使用
的字符 data = data.frame(a,b, stringsAsFactors=F)