如何为具有相同索引的sum(A$Freq)/sum(A$pi) (i=1,2,3)
级别计算z
?我的意思是,当z=regression1
我们要计算sum(A$Freq)/sum(A$p1)
时,z=regression2
时我们需要计算sum(A$Freq)/sum(A$p2)
,最后我需要z=regression3
时需要计算sum(A$Freq)/sum(A$p3)
z
}。由于我的原始数据集非常大且Freq<-seq(100,126,1)
x<-seq(1,27,1)
z<-rep(c('Regression1','Regression2','Regression3'),each = 3, times=3)
p1<-seq(2,28,1)
p2<-seq(10,36,1)
p3<-seq(0,26,1)
s<-data.frame(x,Freq,z,p1,p2,p3)
有很多级别,我正在寻找使用循环函数的解决方案。
from django.shortcuts import render, get_object_or_404, redirect
from .models import Customer, Product, Year
# Create your views here.
def home(request):
customer = Customer.objects.all
context = {'customers': customer}
return render(request, 'customer.html', context)
答案 0 :(得分:4)
将sapply
函数用于您需要评估的索引:
res <- sapply(1:3,
FUN=function(x) sum(s[grepl(x, s$z),"Freq"]) / sum(s[grepl(x, s$z),paste0("p",x)]))
res
[1] 9.166667 4.913043 7.250000
grepl(x, s$z)
将s
的行设置为包含相应索引的行
paste0("p",x)
为相应的索引创建列的名称。