变异以将文本字段转换为包装字符串
mutate to transforma field of text into wrapped strings
adf <- data.frame(
s = c('jfgjksdfg ikbhsjfkv jhdjkfvb kjhgjkhjbhk jhfjdf khkhk',
'kjhgf kjhg hgdhjksmn',
'cats dogs'),
n = 1:3)
adf
s n
1 jfgjksdfg ikbhsjfkv jhdjkfvb kjhgjkhjbhk jhfjdf khkhk 1
2 kjhgf kjhg hgdhjksmn 2
3 cats dogs 3
我想将 s 中的 3 行文本中的每一行都换成 10 宽。尝试过:
library(stringr)
adf %>% mutate(blah = cat(str_wrap(s, width = 10), "\n")) %>% glimpse
jfgjksdfg
ikbhsjfkv
jhdjkfvb
kjhgjkhjbhk
jhfjdf
khkhk kjhgf kjhg
hgdhjksmn cats dogs
Rows: 3
Columns: 2
$ s <chr> "jfgjksdfg ikbhsjfkv jhdjkfvb kjhgjkhjbhk jhfjdf khkhk", "kjhgf kjhg hgdhjksmn", "cats dogs"
$ n <int> 1, 2, 3
不确定这是什么,但我期待一个新字段 blah,它只是将 s 的文本版本包装在相同的 3 行中。我该怎么做?
[编辑]
显示预期结果的屏幕截图。我不得不猜测 width=10 在电子表格上的样子
我们可以将 width
更改为更大的值,因为 width = 10,将在 's'
的第一行中围绕第一个单词本身创建环绕
substr(adf$s, 1, 10)
[1] "jfgjksdfg " "kjhgf kjhg" "cats dogs"
根据?str_wrap
width - positive integer giving target line width in characters. A width less than or equal to 1 will put each word on its own line.
此外,cat
用于打印输出,没有return
值。我们可以删除 cat
包装并直接在 DT::datatable
中使用下面的代码
library(dplyr)
library(tidyr)
adf %>%
mutate(s = str_wrap(s, width = 20))
adf <- data.frame(
s = c('jfgjksdfg ikbhsjfkv jhdjkfvb kjhgjkhjbhk jhfjdf khkhk',
'kjhgf kjhg hgdhjksmn',
'cats dogs'),
n = 1:3)
adf
s n
1 jfgjksdfg ikbhsjfkv jhdjkfvb kjhgjkhjbhk jhfjdf khkhk 1
2 kjhgf kjhg hgdhjksmn 2
3 cats dogs 3
我想将 s 中的 3 行文本中的每一行都换成 10 宽。尝试过:
library(stringr)
adf %>% mutate(blah = cat(str_wrap(s, width = 10), "\n")) %>% glimpse
jfgjksdfg
ikbhsjfkv
jhdjkfvb
kjhgjkhjbhk
jhfjdf
khkhk kjhgf kjhg
hgdhjksmn cats dogs
Rows: 3
Columns: 2
$ s <chr> "jfgjksdfg ikbhsjfkv jhdjkfvb kjhgjkhjbhk jhfjdf khkhk", "kjhgf kjhg hgdhjksmn", "cats dogs"
$ n <int> 1, 2, 3
不确定这是什么,但我期待一个新字段 blah,它只是将 s 的文本版本包装在相同的 3 行中。我该怎么做?
[编辑]
显示预期结果的屏幕截图。我不得不猜测 width=10 在电子表格上的样子
我们可以将 width
更改为更大的值,因为 width = 10,将在 's'
substr(adf$s, 1, 10)
[1] "jfgjksdfg " "kjhgf kjhg" "cats dogs"
根据?str_wrap
width - positive integer giving target line width in characters. A width less than or equal to 1 will put each word on its own line.
此外,cat
用于打印输出,没有return
值。我们可以删除 cat
包装并直接在 DT::datatable
library(dplyr)
library(tidyr)
adf %>%
mutate(s = str_wrap(s, width = 20))