保存每一行的文本而不合并
save a text of each row without merge
我用R写了一段代码
在计算字符数后对文本进行一些更改
如果字符数大于 5,则进行更改
它在这里工作是我的代码
dataset<- c ("there is a rain " , "I am student" )
dataset <-data.frame(x= dataset)
dataset $x<-as.character(dataset $x)
words <- unlist(strsplit(dataset $x, " "))
nchar(words)
K <- character(length(words))
K[nchar(words) < 6] <- words[nchar(words) < 6]
K[nchar(words) > 5] <- gsub('e', 'X',
words[nchar(words) > 5], perl = TRUE)
结果
[1] "there" "is" "a" "rain" "I" "am" "studXnt"
如您所见,它进行了更改,但我的问题是它在文本之间合并
所以如果我有 50 行,那么我不知道文本属于哪一行
因为最后我需要保存对原始文本的更改
我期待的结果
[1] There is a rain
[2] I am studXnt
谢谢
这是正确的语法,
sapply(strsplit(df$x, ' '), function(i){i[nchar(i) > 5] <- gsub('e', 'X', i[nchar(i) > 5]);
paste(i, collapse = ' ')})
#[1] "there is a rain" "I am studXnt"
我用R写了一段代码 在计算字符数后对文本进行一些更改 如果字符数大于 5,则进行更改 它在这里工作是我的代码
dataset<- c ("there is a rain " , "I am student" )
dataset <-data.frame(x= dataset)
dataset $x<-as.character(dataset $x)
words <- unlist(strsplit(dataset $x, " "))
nchar(words)
K <- character(length(words))
K[nchar(words) < 6] <- words[nchar(words) < 6]
K[nchar(words) > 5] <- gsub('e', 'X',
words[nchar(words) > 5], perl = TRUE)
结果
[1] "there" "is" "a" "rain" "I" "am" "studXnt"
如您所见,它进行了更改,但我的问题是它在文本之间合并 所以如果我有 50 行,那么我不知道文本属于哪一行 因为最后我需要保存对原始文本的更改
我期待的结果
[1] There is a rain
[2] I am studXnt
谢谢
这是正确的语法,
sapply(strsplit(df$x, ' '), function(i){i[nchar(i) > 5] <- gsub('e', 'X', i[nchar(i) > 5]);
paste(i, collapse = ' ')})
#[1] "there is a rain" "I am studXnt"