R,在数据框中创建一个新列,该列应用具有相似名称的所有列的函数

dan*_*res 3 r dataframe

我有一个数据框,其中列的名称类似于a,b,v1,v2,v3 ... v100.我想创建一个新列,仅将函数应用于名称包含"v"的列.

例如,给定此数据框

df<-data.frame(a=rnorm(3),v1=rnorm(3),v2=rnorm(3),v3=rnorm(3))
Run Code Online (Sandbox Code Playgroud)

我想创建一个新列,其中每个元素是同一行中v1,v2和v3元素的总和.

Jam*_*mes 6

grepnames获取列位置,然后使用rowSums:

rowSums(df[,grep("v",names(df))])
Run Code Online (Sandbox Code Playgroud)