2015-06-29 22 views
7

Bunu kolay bir soru gibi hissediyorum ...Bir eğri içinde noktaları belirleme

Şekillerdeki koordinatları nasıl tanımlarsınız? Bazı verileri çizdim, spire eğrisi yapmak için unireg (uniReg paketi) kullanıyorum ve verileri bir noktadan çıkarmak istiyorum.

enter image description here

library(uniReg) 
P0mM <- read.table(text=" 
Time   FeuM 
0.04 138.8181818 
    7 1258.636364 
    14 1320.545455 
    21  2110.37037 
    28 13730.37037 
    35 1550.909091",header=TRUE) 

z=seq(min(P0mM$Time),max(P0mM$Time),length=201) 
uf=with(P0mM,unireg(Time,FeuM,g=5,sigma=1)) 
plot(FeuM~Time,P0mM,ylim=c(0,16000),ylab="Fe2+ uM", xlab="Time", main="0mM P") 
lines(z,uf$unimod.func(z)) 

I burada x ekseni Bu durumda tespit etmek isteyen (14444 olan)

max((uf$unimod.func(z))) 

eğrisinin maksimum y değerini bulmak mümkün oldu. (30 civarında olmalı, ama tam olarak olmak istiyorum).

Bunu nasıl yapıyorsunuz?

Teşekkürler!

+0

bir "tam" bazı "kesin" veri gerek sonra cevap istiyorum. –

+0

Verilerinizi ('P0mM')' dput' kullanarak sağlayabilir misiniz? Ayrıca, unireg() 'nereden geliyor? Bazı pacaklarda mı? – thelatemail

+0

Ayrıca, arkanızı aşağıdaki gibi arguemtns kullanarak daha bilimsel bir bakış açısı ile incelerseniz: arsa (1,1, ylim = c (0,16000), ylab = ifade (Fe [2]^"+" ~ mu * M) , xlab = "Zaman", ana = "0 mMol P") ' –

cevap

6

(İngiliz veya Amerikan İngilizcesi ile yakınlık bağlı olarak) optimise veya optimize için vaka gibi görünüyor:

optimise(uf$unimod.func, maximum=TRUE, interval=range(P0mM$Time)) 
#$maximum 
#[1] 29.27168 
# 
#$objective 
#   [,1] 
#[1,] 14444.85 
+0

Teşekkür ederiz! Böyle bir rakam var ve hepsini denedim. Hepsi için çalışıyor. Basit bir şey olduğunu biliyordum! –