类似于文本到列的独立整数

时间:2019-08-23 14:27:57

标签: r dataframe

我是SAS世界中R的新手,我有一个来自旧数据库的txt文件,我正在努力将其转换为对用户更友好的csv文件进行分析,我剥离了分页并将产品名称移至使用Zoo矩阵,我正在尝试将由空格分隔的整数分成单独的列。

我尝试过strsplit,gsub删除空格后的整数,等等

 data_19_3$sale = as.numeric(strsplit(data_19_3$V2,split=" +")[[1]])
  

Error in strsplit(data_19_3$V2, split = " +") : non-character argument

这些数据在我的数据框的第V2列中,用空格隔开,我希望它们在自己的列中

V2
-1.000        49.850 
-1.000        64.850 
-42.500       -21.800 
-85.000      -116.800 
-14.940      -166.740

1 个答案:

答案 0 :(得分:1)

代码中存在一些问题。

1)基于该错误,该列似乎是factor而不是character类,并且strsplit需要输入character。一种方法是使用character

转换为as.character

2)用list子集[[1]]的输出。仅提取第一个元素。我们需要遍历list并转换为numeric

sapply(strsplit(as.character(data_19_3$V2),split=" +"), function(x) as.numeric(x[2]))