子集化和重命名向量元素

问题描述 投票:0回答:1

我必须做一些天真的错误,但无法弄清楚为什么我的代码没有按预期工作:

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"

子集化部分似乎是正确的,我不明白为什么它不会改变名称。我错过了什么?

r subset renaming
1个回答
2
投票

你需要对names进行子集化

names(testVector)[testVector=='a'] <- replicate(n = 3, expr = 'tempA')

testVector
#tempA tempA tempA  temp  temp  temp 
#  "a"   "a"   "a"   "b"   "b"   "b" 
© www.soinside.com 2019 - 2024. All rights reserved.