String 在R中的数据帧中的两个字符之间添加空格
我有一个数据帧,其中每个单元格都是2个字符串(即:“AA”、“BC”、“CD”),我试图在这两个字符之间放置空格,其中NA值保持不变。我似乎无法理解这一点。有什么帮助吗 以下是一个示例数据帧:String 在R中的数据帧中的两个字符之间添加空格,string,r,character,dataframe,String,R,Character,Dataframe,我有一个数据帧,其中每个单元格都是2个字符串(即:“AA”、“BC”、“CD”),我试图在这两个字符之间放置空格,其中NA值保持不变。我似乎无法理解这一点。有什么帮助吗 以下是一个示例数据帧: df <- data.frame(col1=c("AB", "CD", "EF"), col2=c("AA", "BB", "CC"), col3=c("XX", "YY", NA)) df这里有一个方法 df2 <- data.frame(lapply(df, function(x) {
df <- data.frame(col1=c("AB", "CD", "EF"), col2=c("AA", "BB", "CC"), col3=c("XX", "YY", NA))
df这里有一个方法
df2 <- data.frame(lapply(df, function(x) {
levels(x) <- gsub("(.)(.)", "\\1 \\2", levels(x))
return(x)
}))
df2
# col1 col2 col3
# 1 A B A A X X
# 2 C D B B Y Y
# 3 E F C C <NA>
df2这里有一种方法
df2 <- data.frame(lapply(df, function(x) {
levels(x) <- gsub("(.)(.)", "\\1 \\2", levels(x))
return(x)
}))
df2
# col1 col2 col3
# 1 A B A A X X
# 2 C D B B Y Y
# 3 E F C C <NA>
df2如果您的data.frame列都是因子,那么您可以在级别上工作
as.data.frame(lapply(df, function(x){
.l <- unlist(lapply(strsplit(levels(x),''), paste, collapse = ' '))
levels(x) <- .l
x}))
如果您的data.frame列都是factors,那么您可以在级别上工作
as.data.frame(lapply(df, function(x){
.l <- unlist(lapply(strsplit(levels(x),''), paste, collapse = ' '))
levels(x) <- .l
x}))
如果它像您所展示的那样简单,那么这是一种方法:
data.frame(lapply(df, function(x){
ifelse(is.na(x), NA,
paste(substring(x, 1, 1), substring(x, 2)))
}))
如果它像您所展示的那样简单,那么这是一种方法:
data.frame(lapply(df, function(x){
ifelse(is.na(x), NA,
paste(substring(x, 1, 1), substring(x, 2)))
}))
你试过这个吗
df <- data.frame(col1=c("A B", "C D", "E F"), col2=c("A A", "B B", "C C"), col3=c("X X", "Y Y", NA))
然后您可以使用此选项并适当地使用粘贴您尝试过此选项吗
df <- data.frame(col1=c("A B", "C D", "E F"), col2=c("A A", "B B", "C C"), col3=c("X X", "Y Y", NA))
然后您可以使用此选项并适当地使用粘贴您可以安全地假设stackoverfow上的每个答案都应该是动态的。您可以安全地假设stackoverfow上的每个答案都应该是动态的。