gpt4 book ai didi

R:相当于 "Fixed Width Delimitation"?

转载 作者:行者123 更新时间:2023-12-05 09:01:09 26 4
gpt4 key购买 nike

我正在使用 R 编程语言。

我在数据框中有一列看起来像这样(该列是一个 CHARACTER 变量):

head(b$`New Col`)

[1] "1073680,, 781230,, 292455," "128485,, 62890,, 65595," "372475,, 184745,, 187730,"
  • 第一行包含一个元素:1073680,, 781230,, 292455,
  • 第二行包含一个元素:128485,, 62890,, 65595,
  • 第三行包含一个元素:372475,, 184745,, 187730,

我想将此列拆分为 3 列:

  id    col1   col2   col3
1 1 1073680 781230 292455
2 2 128485 62890 65595
3 3 372475 184745 187730

我知道如何在 Excel 中执行此操作(例如删除最后一个逗号,然后使用双逗号“固定宽度分隔”)。

但是有人可以告诉我如何在 R 中执行此操作吗?

谢谢!

最佳答案

除了 Maël 的回答:如果您严格按照固定宽度分隔,请使用 separate 和位置索引而不是分隔符字符串。

您的示例数据:

b <- structure(list(New.Col = c("1073680,,  781230,,  292455,", " 128485,,   62890,,   65595,", 
" 372475,, 184745,, 187730,")), class = "data.frame", row.names = c(NA,
-3L))

以固定宽度分隔:

library(tidyr)

b <- b %>%
separate(col = `New.Col`,
into = c('col1', 'drop1', 'col2', 'drop2', 'col3'),
sep = c(7, 10, 17, 21, 27)
)

删除垃圾列(包含分隔符):

b %>% select(-starts_with('drop'))

关于R:相当于 "Fixed Width Delimitation"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74115528/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com