R字符因子到数字向量

Ben*_*min 3 csv types r

我在其中一个字段中读取了带有"3:29"的csv文件(不带引号).这是一个因素.如何将其转换为数字向量,例如c(3:29)?我尝试了as.vector(),但这给出了一个字符串向量"3,4,5,6 ... 29"(带引号,仍为字符类).

编辑答案需要适用于更一般的形式,例如,列可以包含3:6,7,9:11,需要转换为等效的c(3:6,7,9:11).

Pra*_*ani 10

你可以做:

> eval(parse(text='3:29'))
 [1]  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
[26] 28 29
Run Code Online (Sandbox Code Playgroud)

  • 如果你想扩展它来处理字符串,如:`"3:6,7,9:11"`(如在问题的编辑形式中)你可以把它变成一个函数`str2c < - function(s)eval (parse(text = paste("c(",s,")")))`. (7认同)