我有一个数据框,它是一个包含所有州缩写的列:
Name
AK
AL
AR
AZ
CO
CT
DC
FL
Run Code Online (Sandbox Code Playgroud)
我想取这个列并将其拆分成多个列,这样任何列都不会超过5个单元格.
Name1 Name2
AK CT
AL DC
AR FL
AZ
CO
Run Code Online (Sandbox Code Playgroud)
我可以为我想要做的事创建代码,但必须有更好的方法:
states <- as.data.frame(state.abb)
new.table <- as.data.frame(states[1:5,])
i <- 6
k <- 2
repeat{
new.table[,k] <- as.data.frame(states[(i):(i+4),])
i <- i + 5
k <- k + 1
if(i>nrow(states)){
break
}
}
Run Code Online (Sandbox Code Playgroud) 我在R中使用grepl()来匹配模式到字符串.
我需要将多个字符串匹配到一个公共字符串,如果它们都匹配则返回TRUE.
例如:
a <- 'DEARBORN TRUCK INCDBA'
b <- 'DEARBORN TRUCK INC DBA'
Run Code Online (Sandbox Code Playgroud)
我想看看变量b中的所有单词是否也在变量a中.
我不能只使用grepl(b,a)因为模式(空格)不一样.
它似乎应该是这样的:
grepl('DEARBORN&TRUCK&INC&DBA', a)
Run Code Online (Sandbox Code Playgroud)
要么
grepl('DEARBORN+TRUCK+INC+DBA', a)
Run Code Online (Sandbox Code Playgroud)
但都没有工作.我需要将b中的每个单词与a进行比较.在这种情况下,由于所有单词都存在于a中,因此应返回TRUE.
谢谢!