R:将data.frame的字符列组合成一个向量
我正在使用R并尝试将数据帧的两个字符列组合成一个向量。让我们说,这是我的数据R:将data.frame的字符列组合成一个向量,r,string,dataframe,character,R,String,Dataframe,Character,我正在使用R并尝试将数据帧的两个字符列组合成一个向量。让我们说,这是我的数据 a = c("one", "two", "three") b = c("four", "five", "six") data = data.frame(a,b) 现在我试着 c(data$a, data$b) 或 都给我 [1]123213 这是什么 我期望并且我想要的输出与 c(a,b) 即“一”“二”“三”“四”“五”“六”这是因为您的列是因素。转换为字符,它将按预期工作: > data[] <-
a = c("one", "two", "three")
b = c("four", "five", "six")
data = data.frame(a,b)
现在我试着
c(data$a, data$b)
或
都给我
[1]123213
这是什么
我期望并且我想要的输出与
c(a,b)
即“一”“二”“三”“四”“五”“六”这是因为您的列是因素。转换为字符,它将按预期工作:
> data[] <- lapply(data, as.character)
> c(data$a, data$b)
[1] "one" "two" "three" "four" "five" "six"
这是因为您的列是因子。转换为字符,它将按预期工作:
> data[] <- lapply(data, as.character)
> c(data$a, data$b)
[1] "one" "two" "three" "four" "five" "six"
当您创建数据帧时,向量被存储为因子,而不是字符。必须指定要使用的字符
data = data.frame(a,b, stringsAsFactors=F)
当您创建数据帧时,向量被存储为因子,而不是字符。必须指定要使用的字符
data = data.frame(a,b, stringsAsFactors=F)
多谢各位+1.有两个同时到达的答案,很难决定接受哪一个。@lanenok,这个答案从源头上解决了问题,而我的答案提供了一个解决方案,如果你遇到这样的问题。因此,它们在概念上是不同的,你应该利用概念上的差异来决定哪一个最适合你的情况。谢谢+1.有两个同时到达的答案,很难决定接受哪一个。@lanenok,这个答案从源头上解决了问题,而我的答案提供了一个解决方案,如果你遇到这样的问题。因此,它们在概念上是不同的,你应该利用概念上的差异来决定哪一个最适合你的情况。谢谢+1.对于两个同时到达的答案,很难决定接受哪一个。在我的实际问题中,我从数据帧开始(而不是像问题中的一个小的可复制示例那样的两个向量)。所以我决定知道如何将数据帧转换为字符对我帮助更大。谢谢+1.对于两个同时到达的答案,很难决定接受哪一个。在我的实际问题中,我从数据帧开始(而不是像问题中的一个小的可复制示例那样的两个向量)。所以我决定知道如何将数据帧转换为字符对我帮助更大。