gpt4 book ai didi

string - 将字符添加到数据集中的字符串子集

转载 作者:行者123 更新时间:2023-12-01 15:53:15 25 4
gpt4 key购买 nike

假设我有一个数据集:

test = data.frame(x=c(1:11), y=as.character(c(1:11)))

其中“y”列由字符/字符串组成。现在,我想更改包含两个字符的字符串(即 test[10,2] 和 test[11,2]),以便这些字符串以字符“0”开头。结果将是“010”和“011”,而其他字符串(只有一个字符)保持不变。对我来说,合乎逻辑的解决方案是:

test[nchar(test[,2])==2,2] = paste(c("0", test[nchar(test[,2])==2,2]), collapse="")

确实,只有 test[10,2] 和 test[11,2] 受到影响。奇怪的是,结果是 test[10,2] = "01011"和 test[11,2] = "01011"。这意味着所有具有两个字符的字符串都与前面的“0”一起粘贴。这绝对不是我想看到的。

当满足特定条件(长度)时,我应该怎么做才能只向数据集中的字符串添加一个字符?非常感谢您的回答。

最佳答案

使用

paste("0", test[nchar(test[,2])==2,2], sep="")

例如

> test[nchar(test[,2])==2,2] = paste("0", test[nchar(test[,2])==2,2], sep="")
> test
x y
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
6 6 6
7 7 7
8 8 8
9 9 9
10 10 010
11 11 011

collapsesep 有不同的属性

> paste(1,c(2:3),collapse=',')
[1] "1 2,1 3"
> paste(1,c(2:3),sep=',')
[1] "1,2" "1,3"

关于string - 将字符添加到数据集中的字符串子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11564388/

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