R仅在字符串中大写罗马数字

R仅在字符串中大写罗马数字,r,gsub,stringr,regexp-replace,R,Gsub,Stringr,Regexp Replace,如果我有一个向量,它包含以下内容: people <- c("PERSON I", "PERSON II", "PERSON III", "PERSON IV") people <- str_to_title(people) sapply(strsplit(people,' '), function(X){paste(str_to_title(X[1]), X[2]) }) 我该怎么把罗马数字大写成

如果我有一个向量,它包含以下内容:

people <- c("PERSON I", "PERSON II", "PERSON III", "PERSON IV")
people <- str_to_title(people)
sapply(strsplit(people,' '), function(X){paste(str_to_title(X[1]), X[2]) })
我该怎么把罗马数字大写成这样呢

"Person I"   "Person II"   "Person III"   "Person IV" 

或者是否有一种方法可以将所有大写字母转换为最后一个向量,而无需使用
str\u to\u title

这里有一个使用
substr
sub
粘贴的基本R选项:


people如果格式始终相同,即两个单词之间用空格分隔,则可以使用以下格式:

people <- c("PERSON I", "PERSON II", "PERSON III", "PERSON IV")
people <- str_to_title(people)
sapply(strsplit(people,' '), function(X){paste(str_to_title(X[1]), X[2]) })

如果1。罗马数字前面的字符串有空格和2。如果不是所有的人都有罗马数字,那真的是一个完全不同的问题。