ddply を使用してグループ単位の関数を適用しようとしています。私のデータは次のようになります。
https://echange-fichiers.inra.fr/get?k=b1jD63CWkT93hDsbZ0g
次の関数は、y=0 の x 値を計算します
intercept=function (x,y){
if (length(y[y==0])==0){
x1=min(x[y >0])
y1=min(y[y >0])
x2=max(x[y <0])
y2=max(y[y <0])
p =(y2-y1)/(x2-x1)
x0= -y1/p + x1
}else{
x0=x[y==0]
}
return(x0)
}
次に、ddply を使用してグループごとにこれを適用しようとします。
zzz=ddply(Data,.(Genotype,T), summarise
InterDays=(intercept(Data$Days,Data$Diff))
)
次のような形式の出力を返さないため、私の文法は間違っているに違いありません。
zzz=ddply(DataAll,.(Genotype,T), summarise
InterDays=mean(DataAll$Days)
)
関数変数を呼び出す方法に問題があると思いますが、どこにあるのかわかりません...どんな助けも歓迎します。ごきげんよう、ヴィンセント