Longitude Latitude TWC
1 130.5 -16.5 6.935
2 131.5 -16.5 13.912
3 132.5 -16.5 13.244
4 133.5 -16.5 15.556
5 134.5 -16.5 21.380
6 135.5 -16.5 22.267
7 136.5 -16.5 17.398
8 137.5 -16.5 18.570
9 138.5 -16.5 32767.000
10 139.5 -16.5 32767.000
11 140.5 -16.5 32767.000
12 130.5 -16.5 12.854
13 131.5 -16.5 18.449
14 132.5 -16.5 21.339
15 133.5 -16.5 26.097
16 134.5 -16.5 31.306
17 135.5 -16.5 28.225
18 136.5 -16.5 25.373
19 137.5 -16.5 29.772
20 138.5 -16.5 32767.000
21 139.5 -16.5 32767.000
22 140.5 -16.5 32767.000
我有一个像这样的数据帧(更长)我希望获得相同的“经度”和“纬度”值,然后打印这些行。
此代码可以帮助我
data1 <- data[data$Longitude == '130.5' & data$Latitude =='-16.5',]
Longitude Latitude TWC
1 130.5 -16.5 6.935
12 130.5 -16.5 12.854
但是我正在寻找一个函数,我可以轻松地编写这两个变量(经度,纬度)来获得具有“TWC”值的这些行。
答案 0 :(得分:0)
我们可以用数据集对象('dat')编写一个函数,各自的列('Lat','Long')和要比较的值('valuelat','valueLong'))
f1 <- function(dat, Lat, Long, valueLat, valueLong){
dat[dat[[Lat]]==valueLat & dat[[Long]] == valueLong,]
}
f1(data, "Latitude", "Longitude", -16.5, 130.5)
# Longitude Latitude TWC
#1 130.5 -16.5 6.935
#12 130.5 -16.5 12.854
如果我们使用相同的数据集,那么我们可以从函数和函数内部删除'dat'和列名参数,我们可以将'dat'更改为'data'。
f2 <- function(valueLat, valueLong){
data[data[["Latitude"]]==valueLat & data[["Longitude"]] == valueLong,]
}
f2(-16.5, 130.5)
# Longitude Latitude TWC
#1 130.5 -16.5 6.935
#12 130.5 -16.5 12.854