不需要包R
(如果我没记错的话,Python 也不需要)。首先将所有内容分开(并删除该初始5
)。我猜你希望结果是数字,而不是字符串:
x<-"5 0:10 8:1 18:2 54:1 442:2 3784:1 5640:1 43501:1"
y<-as.integer(unlist(strsplit(x,split=" |:"))[-1])
feature<-y[seq(1,length(y),by=2)]
[1] 0 8 18 54 442 3784 5640 43501
value<-y[seq(2,length(y),by=2)]
[1] 10 1 2 1 2 1 1 1
如果您希望它们并排:
cbind(feature,value)
feature value
[1,] 0 10
[2,] 8 1
[3,] 18 2
[4,] 54 1
[5,] 442 2
[6,] 3784 1
[7,] 5640 1
[8,] 43501 1
如果要将它们分配给 adata.table
进行分析:
库(data.table)dt<-data.table(特征=特征,值=值)
> dt
feature value
1: 0 10
2: 8 1
3: 18 2
4: 54 1
5: 442 2
6: 3784 1
7: 5640 1
8: 43501 1
等等。