我想获取一个带有字符和数字的数据框,并将每一行的所有元素连接成一个字符串,该字符串将作为单个元素存储在向量中。例如,我制作了一个字母和数字的数据框,然后我想通过粘贴函数连接第一行,并希望返回值“A1”
df <- data.frame(letters = LETTERS[1:5], numbers = 1:5)
df
## letters numbers
## 1 A 1
## 2 B 2
## 3 C 3
## 4 D 4
## 5 E 5
paste(df[1,], sep =".")
## [1] "1" "1"
因此 paste 将行中的每个元素转换为与“相应级别的索引”相对应的整数,就好像它是一个因子一样,并将其保持为长度为 2 的向量。(我知道/相信被强制为字符的因素以这种方式表现,但由于 R 根本没有将 df[1,] 存储为一个因素(由 is.factor() 测试,我无法验证它实际上是一个级别的索引)
is.factor(df[1,])
## [1] FALSE
is.vector(df[1,])
## [1] FALSE
因此,如果它不是向量,那么它的行为很奇怪是有道理的,但我不能将它强制转换为向量
> is.vector(as.vector(df[1,]))
[1] FALSE
使用as.character
似乎对我的尝试没有帮助
谁能解释这种行为?