select 一系列列和添加到向量的快捷方式

Shortcut way to select a range of columns and to addition to a vector

我在做一个简单的加法:

a <- data$a + data$b + data$c + data$d

但是,我有一个数据集,其中导入的数据中有 50 列,想知道是否有 select 这些的捷径,例如:

data$a:data$z

然后把它们加起来?

我知道我可以 select 一个简单的范围:

dataframe[11:60]

但是怎么添加呢?

编辑: 一个更具体的例子

affect <- well_being_df$Affect1 + ... well_being_df$Affect50

affect
<labelled doubled>
[1] 21 23 43 8 10 ...
[38] 42 42 54 ...
[75] 23 14 42 23 ... etc
labels:
value    label
0 Not at all 
10 Completely  

您可以在不使用“$”的情况下访问您的列,但仍然可以使用它们的标签:

rowSums(data[,c("a","b","c")]

如果你的列太多而你无法输入 "a b c d ... z",你可以使用它们的 ascii 代码循环使用 :

vec <- rep(0,10)

for (i in 1:10)
{
   vec[i]<- intToUtf8(64+i)
}

它为您提供 "A", "B", ... ,"J" ;现在你可以使用 rowSums(data[,vec])

关于你评论中的最后一个问题,当你在 data[] 中使用“,”时,它定义了它之前的行索引和它之后的列索引,同样在 data[] 中你可以使用逻辑值,因为它以上代码 运行 正确。