簡體   English   中英

R - dplyr 中字符串的列

[英]R - column from string in dplyr

我的 dataframe 看起來像這樣

x <-
  data.frame(
    id = c("123_1", "987_123")
  )

我想通過 dplyr 變異 function 創建這個結果 dataframe。 我只想在下划線符號之前參加第一部分,在下划線符號之后參加另一部分。

result <-
  data.frame(
    id = c("123_1", "987_123"),
    af = c("123", "987"),
    ad = c("1", "123")
  )

1) tidyverse像這樣separate使用:

library(dplyr)
library(tidyr)

x %>%
  separate(id, c("af", "ad"), remove = FALSE)
##        id  af  ad
## 1   123_1 123   1
## 2 987_123 987 123

2) 底座 R

2a) read.table沒有任何包使用read.table

cbind(x, read.table(text = x$id, sep = "_", col.names = c("af", "ad"),
  colClasses = "character"))
##        id  af  ad
## 1   123_1 123   1
## 2 987_123 987 123

2b) sub或使用sub

transform(x, af = sub("_.*", "", id), ad = sub(".*_", "", id))
##        id  af  ad
## 1   123_1 123   1
## 2 987_123 987 123

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM