【问题标题】:Concatenating two vectors in R [duplicate]在R中连接两个向量[重复]
【发布时间】:2025-12-27 00:15:06
【问题描述】:

我想在 R 中一个接一个地连接两个向量。我编写了以下代码来做到这一点:

> a = head(tracks_listened_train)
> b = head(tracks_listened_test)
> a
[1] cc1a46ee0446538ecf6b65db01c30cd8 19acf9a5cbed34743ce0ee42ef3cae3e
[3] 9e7fdbf2045c9f814f6c0bed5da9bed7 3441b1031267fbb6009221bf47f9c5e8
[5] 206c8b79bd02beeea200879afc414879 1a7a95e3845a6815060628e847d14362
18585 Levels: 0001a423baf29add84af6ec58aeb5b90 ...
> b
[1] 7251a7694b79aa9a39f9a1a5f5c8a253 2f362377ef0e7bca112233fdda22a79c
[3] c1196625b1b733b62c43935334e1d190 58e41e462af4185b08231a41453c3faf
[5] 1cc2517fa9c037e02a14ce0950a28f67
10186 Levels: 0001a423baf29add84af6ec58aeb5b90 ...
> res = c(a,b)
> res
[1] 14898  1898 11556  3859  2408  1950  4473  1865  7674  3488  1130

但是,我得到了合成向量的意外结果。问题可能是什么?

【问题讨论】:

  • 你有factor 类。转换为character 然后执行它,即c(as.character(a), as.character(b))
  • 太棒了!谢谢。

标签: r concatenation


【解决方案1】:

我们需要将factor 类转换为character

c(as.character(a), as.character(b))

我们得到数字而不是character 的原因是基于factor 的存储模式,即整数。因此,当我们进行连接时,它会强制转换为 integer 模式

【讨论】: