gpt4 book ai didi

r - 向字符串/字符向量中的每个元素添加可变长度填充

转载 作者:行者123 更新时间:2023-12-03 08:28:36 24 4
gpt4 key购买 nike

我对 R 不是很了解,但对其他几种语言有一定的了解,并且有一个解决方案,但我想知道是否有更有效的方法,因为我计划将其用于大型列表。我在网上看了几次,厌倦了各种事情,但没有运气,this answer可能是答案,但我似乎无法让它发挥作用。

我有一个来自外部文件的字符串列表,每个字符串的每个元素中可能包含不同数量的字符。我想填充此列表(带有尾随空格),以便所有元素具有相同的长度。为了澄清起见,我将在示例中使用“+”代替空格。所以

c(“dog”, “cat”, “mouse”, “hare”, “snake”) 

会变成

[1] “dog++”, “cat++", “mouse”, “hare+”, “snake”

我所拥有的有效,但我认为使用粘贴、代表或类似的解决方案将会更有效和优雅。 Y是我的角色列表

# find max length of elements 
maxY <- max(nchar(Y))

# size of padding to each element
Ydif <- max(nchar(Y)) - nchar(Y)

# pad each string element with the required amount of white space
for (l in 1:length(Ydif)) {
if (Ydif[l] > 0) {
Ypad[l] = strrep(" ", times=Ydif[l])
} else {
Ypad[l] = "" # if zero dont add padding
}
}

# combine the padding with the original list to get all the same length
paste0(Y,Ypad, collapse=NULL)

最佳答案

一个 stringr 选项可能是:

str_pad(x, max(nchar(x)), pad = "+", side = "right")

[1] "dog++" "cat++" "mouse" "hare+" "snake"

关于r - 向字符串/字符向量中的每个元素添加可变长度填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65842619/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com