【发布时间】:2018-02-08 02:33:51
【问题描述】:
我正在尝试获取按两个变量分组的一系列记录总和:列“a”,然后是数据集中的其余列。
当我在下面运行时:
vars <- c(colnames(df))
vars<-vars[-1]
counting<-function(index) {
count(df,a,get(index))
}
vars[]<-lapply(vars,FUN=counting)
get(index) 生成的列的名称在我的列表变量中命名为“get(index)”。如何更改它以使输出中的列名与原始列名相同?
例如,(这个数据框是根据datacamp中的教程修改的),如果我有这个数据框:
First.Name <- c("John", "Edgar", "Walt", "Jane")
Second.Name <- c("Doe", "Poe", "Whitman", "Austen")
Sex <- c("MALE", "MALE", "MALE", "FEMALE")
writers_df <- data.frame(First.Name, Second.Name, Sex)
我想计算有多少行具有 Sex 和其他变量的唯一组合,我会运行:
vars <- c(colnames(writers_df))
vars<-vars[-3]
counting<-function(index) {
count(df,Sex,get(index))
}
vars[]<-lapply(vars,FUN=counting)
其中一张表的输出将如下所示:
Sex get(index) n
M John 1
M Edgar 1
M Walt 1
F Jane 1
如何在不“手动”手动更改的情况下获取名为 First.Name 的列 get(index)?
【问题讨论】: