在R中的几列中按冒号分割字符

时间:2013-03-08 16:00:33

标签: r strsplit

我有一些数据,我已经用冒号分割了它们。我想用冒号分割每列的所有内容。

以下是我的数据示例:

                      V8                        V9                      V10
1 0/0:0,108,255:36:0:0:99  0/0:0,255,255:103:0:0:99 0/0:0,226,255:107:3:0:99
2 1/1:255,69,0:23:23:0:65  1/1:255,159,0:63:62:0:99 0/1:255,0,255:58:25:4:99

我希望它们看起来像:

                      V8                        V9                      V10
1 0/0 0,108,255 36 0 0 99  0/0 0,255,255 103 0 0 99 0/0 0,226,255 107 3 0 99
2 1/1 255,69,0 23 23 0 65  1/1 255,159,0 63 62 0 99 0/1 255,0,255 58 25 4 99

1 个答案:

答案 0 :(得分:0)

假设您的data.frame被称为SODF,请使用gsublapply允许您将该功能应用于data.frame中的所有列(因为data.frame是R中的一种特殊list

> data.frame(lapply(SODF, function(x) gsub(":", " ", x)))
                       V8                       V9                      V10
1 0/0 0,108,255 36 0 0 99 0/0 0,255,255 103 0 0 99 0/0 0,226,255 107 3 0 99
2 1/1 255,69,0 23 23 0 65 1/1 255,159,0 63 62 0 99 0/1 255,0,255 58 25 4 99