取出strsplit中的元素放入dataFrame
Take the elemnt in strsplit and put to dataFrame
我根据_
拆分了一个字符串。
我将输出直接添加到我拥有的数据框中。但是,现在我的第二列中有每个拆分字符串的向量。
示例代码:
n = c(2, 3, 5, 6)
s = c("DUMMY_PO0111385745_TEST_LLN_DOLHTM", "DUMMY_VO0111385745_ST_LdN_DOLHTM", "DUMMY_PO0143385745_TE_N_CHHTM", "DUMMY_US0121785745_TEST1_MM_EURHTM")
df = data.frame(n, s)
# convert all factors to character strings
df <- data.frame(lapply(df, as.character), stringsAsFactors=FALSE)
df$ID_NUMB <- strsplit(df$s, "_", fixed=TRUE)
任何关于如何从分割向量中取出 "number" 的建议,例如:PO0111385745
?
感谢您的回复!
你可以试试
library(stringr)
df$s1 <- str_extract(df$s,'\d+')
df$s1
#[1] "0111385745" "0111385745" "0143385745" "0121785745"
或基础 R 选项
gsub("[^0-9]+", '', df$s)
#[1] "0111385745" "0111385745" "0143385745" "01217857451"
如果你也需要字母
gsub(".*?([A-Z]+[0-9]+).*", '\1', df$s)
#[1] "PO0111385745" "VO0111385745" "PO0143385745" "US0121785745"
我根据_
拆分了一个字符串。
我将输出直接添加到我拥有的数据框中。但是,现在我的第二列中有每个拆分字符串的向量。
示例代码:
n = c(2, 3, 5, 6)
s = c("DUMMY_PO0111385745_TEST_LLN_DOLHTM", "DUMMY_VO0111385745_ST_LdN_DOLHTM", "DUMMY_PO0143385745_TE_N_CHHTM", "DUMMY_US0121785745_TEST1_MM_EURHTM")
df = data.frame(n, s)
# convert all factors to character strings
df <- data.frame(lapply(df, as.character), stringsAsFactors=FALSE)
df$ID_NUMB <- strsplit(df$s, "_", fixed=TRUE)
任何关于如何从分割向量中取出 "number" 的建议,例如:PO0111385745
?
感谢您的回复!
你可以试试
library(stringr)
df$s1 <- str_extract(df$s,'\d+')
df$s1
#[1] "0111385745" "0111385745" "0143385745" "0121785745"
或基础 R 选项
gsub("[^0-9]+", '', df$s)
#[1] "0111385745" "0111385745" "0143385745" "01217857451"
如果你也需要字母
gsub(".*?([A-Z]+[0-9]+).*", '\1', df$s)
#[1] "PO0111385745" "VO0111385745" "PO0143385745" "US0121785745"