方括号在没有逗号来确定行或列时的含义 [英] Meaning of square brackets when there is no comma to determine row or column

查看:17
本文介绍了方括号在没有逗号来确定行或列时的含义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下代码,它在R数据框中生成新列:

for (i in 2:7){
  v <- apply(x[,c(i,i+14,i+28, i+42)],1,sum,na.rm=T)
  x[paste("income", i-1)] <- v
}

为什么粘贴功能开始之前不需要逗号?我的理解是,在使用方括号编制索引时,为了给列编制索引,它应该出现在逗号之后,如下所示:

 x[,paste("income", i-1)]

推荐答案

所有数据帧也是列表,每列都是列表的一个元素。在?[.data.frame中,它显示

[[[与单个矢量索引(x[i]x[[i]])一起使用时,它们会将数据帧作为列表进行索引。

因此,x[1]遵循列表索引:它只返回第一个元素(Column)作为data.frame。也可以这样指定多列:x[1:3]返回x中前三列的data.frame。

这篇关于方括号在没有逗号来确定行或列时的含义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆