R列 split

标签 r

我对 R 还很陌生。我试图用 ; 取出值并将其作为值添加到新列中,直到遇到另一个带有 ; 的值。现在前面的值;将是该新列中的值。

谢谢!

enter image description here

结果:

enter image description here

最佳答案

我们根据 ; 的出现创建一个组,然后获取“v1”的第一个元素作为新列

library(dplyr)
df1 %>%
    group_by(grp = cumsum(grepl(";", v1))) %>%
    mutate(new = as.numeric(sub(";", "", first(v1)))) %>% 
    filter(!grepl(";", v1)) %>%
    ungroup %>%
    select(-grp)
# A tibble: 9 x 2
#  v1         new
#  <chr>    <dbl>
#1 12345       10
#2 67890       10
#3 11121314    10
#4 85642       10
#5 19654       10
#6 5642        11
#7 9987        11
#8 22365       11
#9 5589        13

数据

df1 <- data.frame(v1 = c('10;', 12345, 67890, 11121314, 85642, 19654, 
   '11;', 5642, 9987, 22365, '13;', 5589), stringsAsFactors = FALSE)

关于R列 split ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50742379/

相关文章:

r - 了解 Shiny 中的 react 函数

r - 在适用于 R 的 Shiny 应用程序中,如何延迟响应式的触发?

r - 在 ShinyServer 中使用函数创建数据以提供 ggplot

linux - 从 R 运行外部程序并期待用户输入

r - 如何在 Rpres (R Presentation) 幻灯片中添加全屏背景图片?

python - scikit-learns LDA 函数中的错误 - 绘图显示非零相关

r 多列减法

Rplotly - 绘制分组线

r - 给定一个向量 a=[1,2, 3.2, 4, 5] 和一个元素 x=3 在向量 a 中,如何找到比 x 大的确切条目?

r - R 中意外的快速排序行为