我一定是在做一些天真的错误,但无法弄清楚为什么我的代码无法按预期工作:
testVector<- c('a', 'a', 'a', 'b', 'b', 'b')
names(testVector)<- replicate(n = 6, expr = 'temp')
##The following does not work, but does not give any error:
names(testVector[testVector=='a'])<- replicate(n = 3, expr = 'tempA')
#
names(testVector[testVector=='a'])
# [1] "temp" "temp" "temp"
子集部分似乎是正确的,但我不明白为什么它没有更改名称。我想念什么?
答案 0 :(得分:2)
您需要对names
names(testVector)[testVector=='a'] <- replicate(n = 3, expr = 'tempA')
testVector
#tempA tempA tempA temp temp temp
# "a" "a" "a" "b" "b" "b"