从R中提取列表中的数字

时间:2013-06-19 09:59:12

标签: r

我正在从CSV文件中读取这个内容,我需要编写一个能够生成最终数据帧的函数,所以给定一个特定的条目,我有

  

X   [1] {2,4,5,11,12}

139级:{1,2,3,4,5,6,7,12,17} ......

我可以改成它 X2< -as.character(x)的

给了我

  

X   [1]“{2,4,5,11,12}”

我如何提取2,4,5,11,12? (有5个元素)

我试图使用各种方式,比如gsub,但无济于事

谁能帮助我吗?

1 个答案:

答案 0 :(得分:2)

听起来您正在尝试导入包含数组的数据库表。由于R不了解此类数据结构,因此将其视为文本。

试试这个。我假设有问题的列是x。结果将是一个列表,每个元素都是表中该行的数组值的向量。

dat <- read.csv("<file>", stringsAsFactors=FALSE)
dat$x <- strsplit(gsub("\\{(.*)\\}", "\\1", dat$x), ",")