看到一些相关的问题,但没有任何真正给我我需要的东西(或者我可能只是不理解)。
我有一个如下所示的数据框:
Date City A City B City C
8/17 55 65 75
8/18 48 85 23
除了它超过3个城市。我想将一个函数应用于数据框中除日期之外的每一列 - 我可以将函数应用于每一列,这样做就可以了,但我正在寻找某种符号,将函数应用于所有内容除了日期列(以容纳具有不同列名的DF)。
尝试申请,改造,但没有运气。应该提到的是,我已经和R一起工作了大约一个月,所以我不是很擅长(还是!)。
提前感谢,感谢您提供的任何帮助。
答案 0 :(得分:1)
您只需申请df[,-1]
:
df=data.frame(Date=c("A","B"), City_A=c(55,48),City_B=c(65,85),City_C=c(75,23))
apply(df[,-1],1,sum)
[1] 195 156
如果您不知道列的索引而只知道名称,则可以使用:
-(which(colnames(df)=="Date"))
代替-1
:
apply(df[,-(which(colnames(df)=="Date"))],1,sum)
[1] 195 156
如果您更喜欢lapply版本,可以使用
lapply(df[,-(which(colnames(df)=="Date"))],sum)
这将返回一个列表