3
操纵功能,这应该是有人在那里一个简单的问题...内lapply
我有一个看起来像这样的数据帧:
df1
longitude lattitude 10000 5 1.5 1.4 1.3 1.2 1 0.5 0.1 0.001
0 -119.8304 34.44190 107 14 8 8 8 8 7 5 5 1
1 -119.6768 34.41962 107 19 5 5 5 5 5 3 2 1
2 -119.7162 34.41911 107 25 9 8 8 5 4 1 1 1
3 -119.7439 34.44017 107 22 7 7 6 5 5 2 1 1
这是由该代码创建:
library(geosphere)
df1 <- data.frame(longitude=c(-119.8304, -119.6768, -119.7162, -119.7439, -120.4406, -119.5296, -120.4198, -119.8221, -119.7269, -120.4252, -120.4573, -120.4581),
lattitude=c(34.44, 34.42, 34.42, 34.44, 34.64, 34.41, 34.94, 34.44, 34.44, 34.97, 34.65, 34.65))
boundary <- c(10000, 5, 1.5, 1.4, 1.3, 1.2, 1, 0.5, 0.1, 0.001)
names(boundary) <- boundary
df1 <- cbind(df1, lapply(boundary, function(x) rowSums(distm(df1, fun = distHaversine)/1000 <= x)))
但我需要操纵数据框df1
中的值,使得除latitude
和longitude
之外的所有列中的值将除以pi*x^2
(pi倍x平方)。我可以在这种情况下使用lapply吗?
输出应该是这样的:
df1
longitude lattitude 10000 5 1.5 1.4 1.3 1.2 1 0.5 0.1 0.001
0 -119.8304 34.44190 0 0.177 1.12 1.29 etc...
嗨@akrun。你似乎把pi * ^。2增加到'names(df)'?但我实际上需要用pi * x^2(x是“边界”)来分割'df1'的输出值。希望这是有道理的。请指教。 – JAG2024
@ JAG2024好吧,纠正它 – akrun
酷!最后一个请求。您可以将纬度,经度列添加回最终的数据框吗? @akrun – JAG2024