I'm looping through a sequence of 1 to 1.9 by increments of 0.1 to find these valued positions in my data (datapositions1). However, when looping through, the value "1.7" is not being picked up although its definitely in the data. However, if I use a sequence of (1, 1.7, by=0.1) then it picks up the "1.7" & stranger again if I use a sequence of (1.1, 1.9, by=0.1) then it neither picks up "1.7" nor "1.8".
An snippit of my data:
name position value
Name A 1.8 458.77011494
Name A 3.3 352.10734463
Name A 1.7 167.26923077
Name A 1.5 14.19756839
Name A 3.0 96.47292419
Name A 1.9 636.25490196
Name A 1.7 1.81479312
Name A 1.2 130.94444444
Name A 1.6 43.66501241
Name B 1.2 86.40421456
Name B 1.1 48.13294798
Name B 1.0 3.28143556
Name C 1.7 460.53846154
Name C 1.8 501.41545894
Name C 1.0 112.03095752
Name C 1.7 216.39130435
The function I'm using:
Average= function(){
df = data.frame()
for (i in seq(1, 1.9, 0.1)){
#print(i)
#b = datapositions1[c(datapositions1$position == 1.7),]
#print(b)
p = datapositions1[c(datapositions1$position == i),]
print(p)
df = rbind(df, data.frame(p))
}
df
}
Average()
Also in the code above where i used "b" it always returns correct data when using "1.7" whereas the "p" using "i" loses the "1.7" data.
This is the output of "p" losing "1.7" data.
497 Name A 1.6 60.997704
543 Name C 1.6 146.058824
544 Name C 1.6 163.133739
[1] 1.7
[1] name position value
<0 rows> (or 0-length row.names)
[1] 1.8
name position value
42 Name A 1.8 20.614468
43 Name B 1.8 49.724638
89 Name A 1.8 101.725367
Any advise please :)