一、就地改值
利用标号体系直接将新值赋予指定位置,适用于知道修改目标确切位置时。
- 如果你赋予一个不存在的位置值时,R会自动将对象长度延伸,使之得以匹配。
- 这种直接标号增加新行或列的方式还可以作用在数据框中,当然数据框还可以通过名称
frame$+属性
的形式,赋值。 - 而在对列表进行类似操作时,需要注意,列表形成之后补充的元素也必须是列表形式,只有一开始列表刚形成时,可以有各种其他数据类型。
> test<-c(1,2,3)
> test[4]<-4
> test
[1] 1 2 3 4
> test[6]<-6 #跨位置赋值,匹配NA
> test
[1] 1 2 3 4 NA 6
> list<-list(c(1,2,3),c("one","two","three"))
> list[3]<-list(c(1,2,3))
> list
[[1]]
[1] 1 2 3
[[2]]
[1] "one" "two" "three"
[[3]]
[1] 1 2 3
而这种情况出现在矩阵上时会报错
matrix[,