在R中创建字符串列表

时间:2013-11-07 00:11:12

标签: r

假设我有一个列表v

> v[1:5]
[1] A1CF    A2M     A2M     AADAC   AADACL3

如果我尝试创建新列表

x=c(v[1],v[2])

我得到了

> x
[1] 1 2

为什么R将整数值赋给x,以及如何将字符串分配给新列表x?

1 个答案:

答案 0 :(得分:3)

v似乎是因素的载体。

> v <- factor(c("A1CF", "A2M", "A2M", "AADAC", "AADACL3"))
> c(v[1],v[2])  # this reproduces your problem  
[1] 1 2
> 
> # possible alternatives. This solves your problem
> factor(c(levels(v)[1], levels(v)[2])) # Alternative 1
[1] A1CF A2M 
Levels: A1CF A2M
> factor(levels(v)[1:2])                # Alternative 2
[1] A1CF A2M 
Levels: A1CF A2M
是的,你正在处理一个向量,而不是列表。