R语言,提取第三列,两种方式,为什么一种是生成的Data,一种是values,有什么原因吗
> data1<-AD05[,3]
> indata <- AD05[3]
使用
data1<-AD05[,3]
生成的是values,使用
indata <- AD05[3]
生成的就是data
R语言,提取第三列,两种方式,为什么一种是生成的Data,一种是values,有什么原因吗
> data1<-AD05[,3]
> indata <- AD05[3]
使用
data1<-AD05[,3]
生成的是values,使用
indata <- AD05[3]
生成的就是data
引自强大而免费的微信小程序:皆我百晓生。
AD05[,3]
提取的是第三列的数据,返回的是一个向量或者数据框的第三列数据,生成的是具体的列数据。
AD05[3]
提取的是第三列的列名,返回的是一个数据框,生成的是包含第三列数据的子数据框。
这个差异是因为当使用方括号提取单个列时,R语言默认返回的是一个数据框,而不是一个向量。如果想要提取具体的列数据,需要在方括号内使用逗号来明确指定提取的范围,即使用[,3]
来提取第三列的数据。如果不使用逗号指定范围,R语言会默认返回整个列的数据框。
所以,AD05[,3]
返回的是第三列的具体数据,生成的是向量或者数据框的第三列数据。而AD05[3]
返回的是一个包含第三列数据的子数据框,生成的是一个数据框。