我想将下面的数据框分成五列.应在每个" - "之后创建列.注意,一些观察(26和28)有一个额外的字段("uk"和"es").所以在最后一栏中所有观察结果都是26和28应该包含NA.
26 paid 21.09 - abs - E X1028 - 61,77 - uk.pdf
27 paid 21.09 - corefunction - mah - 125,66.PDF
28 paid 21.09 - mrl - mah - 456,96 - es.PDF
29 paid 21.09 - mollea - inv - 297,50.pdf
30 paid 21.09 - saless - inv - 117,81.pdf
31 paid 23.09 - boc - inv - 59,80.pdf
Run Code Online (Sandbox Code Playgroud)
使用快速解决方案 data.table
library(data.table) # v 1.9.6+
setDT(df)[, tstrsplit(V1, "-")]
# V1 V2 V3 V4 V5
# 1: paid 21.09 abs E X1028 61,77 uk.pdf
# 2: paid 21.09 corefunction mah 125,66.PDF NA
# 3: paid 21.09 mrl mah 456,96 es.PDF
# 4: paid 21.09 mollea inv 297,50.pdf NA
# 5: paid 21.09 saless inv 117,81.pdf NA
# 6: paid 23.09 boc inv 59,80.pdf NA
Run Code Online (Sandbox Code Playgroud)
数据
df <- structure(list(V1 = structure(c(1L, 2L, 4L, 3L, 5L, 6L), .Label = c("paid 21.09 - abs - E X1028 - 61,77 - uk.pdf",
"paid 21.09 - corefunction - mah - 125,66.PDF", "paid 21.09 - mollea - inv - 297,50.pdf",
"paid 21.09 - mrl - mah - 456,96 - es.PDF", "paid 21.09 - saless - inv - 117,81.pdf",
"paid 23.09 - boc - inv - 59,80.pdf"), class = "factor")), .Names = "V1", class = "data.frame", row.names = c(NA,
-6L))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |