我有一个数据框,其中列的名称类似于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元素的总和.
grep在names获取列位置,然后使用rowSums:
rowSums(df[,grep("v",names(df))])
Run Code Online (Sandbox Code Playgroud)