【发布时间】:2021-04-07 04:43:30
【问题描述】:
我想把一个字符列分成多个数值列。
例如,我在“final”表中有这些列:
最终
| sd2 | file |
|---|---|
| 0.011 | r100.0.8.1.1.csv |
| 0.023 | r10.0.2.0.1.csv |
| 0.033 | r10.0.95.0.0.csv |
我想把它变成像下面这样的东西。 “文件”列分为 3 个单独的列,其中不再有“r”或“.csv”,前两个数字(即 100 和 0.8)在不同的列中,但最后一个(即 1.1)保留在一列 - 尽管如果更容易,这可以进一步分成两列(即“dom”列中的 1 和 1 可以在单独的列中)。
| sd2 | pop | sel | dom |
|---|---|---|---|
| 0.011 | 100 | 0.8 | 1.1 |
| 0.023 | 10 | 0.2 | 0.1 |
| 0.033 | 10 | 0.95 | 0.0 |
我使用 strsplit 使“文件”列成为字符串列表。
files <- final$file
files <- as.character(files)
per <- strsplit(files, "[.]")
我不确定如何将这些字符串转换为单独的列,同时放弃“r”和“.col”任何关于后续步骤的建议将不胜感激!
【问题讨论】:
标签: r