小编Hum*_*hen的帖子

在TRUE / FALSE和NA分组序列中对组进行排名

我有一点坚果要破解。

我有一个data.frame这样的:

   group criterium
1      A        NA
2      A      TRUE
3      A      TRUE
4      A      TRUE
5      A     FALSE
6      A     FALSE
7      A      TRUE
8      A      TRUE
9      A     FALSE
10     A      TRUE
11     A      TRUE
12     A      TRUE
13     B        NA
14     B     FALSE
15     B      TRUE
16     B      TRUE
17     B      TRUE
18     B     FALSE

structure(list(group = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L), …
Run Code Online (Sandbox Code Playgroud)

r rank dplyr data.table

10
推荐指数
3
解决办法
467
查看次数

从每一行的字符串中评估不同的逻辑条件

我有一个data.frame这样的:

  value     condition
1  0.46   value > 0.5
2  0.96 value == 0.79
3  0.45 value <= 0.65
4  0.68 value == 0.88
5  0.57   value < 0.9
6  0.10  value > 0.01
7  0.90  value >= 0.6
8  0.25  value < 0.91
9  0.04   value > 0.2

structure(list(value = c(0.46, 0.96, 0.45, 0.68, 0.57, 0.1, 0.9, 
0.25, 0.04), condition = c("value > 0.5", "value == 0.79", "value <= 0.65", 
"value == 0.88", "value < 0.9", "value > …
Run Code Online (Sandbox Code Playgroud)

r dplyr nse

6
推荐指数
2
解决办法
110
查看次数

为什么我不能使用从其他变量索引的标签来命名 c() 内的向量元素?

当我命名向量的元素时,我使用标签-值对,如下所示:

myvec <- c("name1" = 1, "name2" = 2, "name3" = 3)

> myvec
name1 name2 name3 
    1     2     3 
Run Code Online (Sandbox Code Playgroud)

当我创建一个包含名称的向量并从 c() 函数内部索引该向量时,它不起作用。

namevec <- c("name1", "name2", "name3")

myvec <- c(namevec[1] = 1, namevec[2] = 2, namevec[3] = 3)
Error: unexpected '=' in "myvec <- c(namevec[1] ="

Run Code Online (Sandbox Code Playgroud)

我现在的问题是:这是为什么?为什么如果我写它可以工作"name1",但如果我使用namevec[1]它返回"name1",它会抛出错误?

注意:我并不是要求解决方法。解决方法有很多,例如:

"names<-"(c(1,2,3), namevec)
name1 name2 name3 
    1     2     3

setNames(c(1,2,3), namevec)
name1 name2 name3 
    1     2     3

structure(c(1,2,3), .Names = namevec)
name1 name2 name3 
    1     2 …
Run Code Online (Sandbox Code Playgroud)

naming r vector

5
推荐指数
0
解决办法
186
查看次数

在整个行上逐行使用purrr而不是apply()

我想apply()用一个purrr函数替换(及其派生)。

我有一个像这样的data.frame:

> df
  V1 V2 V3
1 NA  2  3
2  2 NA  3
3  3  3 NA
Run Code Online (Sandbox Code Playgroud)

我想逐行应用两个函数:min(x, na.rm = T)和,which.min(x)然后将结果作为数据帧返回。

如果我知道有多少列,我可以这样做:

pmap_dfr(df, function(V1, V2, V3) {data.frame(min = pmin(V1, V2, V3, na.rm = T),
                                              where = which.min(c(V1, V2, V3)))})

  min where
1   2     2
2   2     1
3   3     1
Run Code Online (Sandbox Code Playgroud)

我该如何使pmap()或其他任何purrr函数像将整行一样作为参数apply()?

func <- function(x) {data.frame(min = min(x, na.rm = T), where = which.min(x))}

> …
Run Code Online (Sandbox Code Playgroud)

r apply purrr

5
推荐指数
1
解决办法
103
查看次数

将州边界添加到传单的输出中,其中输入是县 shapefile

我shapefile从data.gov下载了县。我可以在传单中使用它们,如下所示来绘制 WA、ID 和 OR 中的县。我想让州边界更厚。我怎样才能做到这一点?

counties <- readOGR(paste0(dir, "/tl_2017_us_county.shp"),
                    layer = "tl_2017_us_county", GDAL1_integer64_policy = TRUE)

counties <- counties[counties@data$STATEFP %in% c("16", "41", "53"), ]
counties <- subset(counties, STATEFP %in% c("16", "41", "53") )
counties <- rmapshaper::ms_simplify(counties)

counties %>%
leaflet() %>%
setView(lng = -118.4942, lat = 47.2149, zoom = 5) %>%
addPolygons( fillColor = "green", fillOpacity = 0.5,
             color = "black", opacity = 1.0, weight = .6, smoothFactor = 0.5,
             highlightOptions = highlightOptions(color="white", weight=2, bringToFront = TRUE),
             label= …
Run Code Online (Sandbox Code Playgroud)

r r-sp r-leaflet

5
推荐指数
1
解决办法
1820
查看次数

使用 voronoi 在 Leaflet 中创建的surface_polygons 使用点数据创建等值线图

我有一个棘手的问题。

我正在尝试将一些数据可视化为一种“漂亮”的元数据浏览器。它是以下格式的基本点数据:

> print(tempdata[1:5, ])
  Station  Lat_dec  Long_dec Surface_T
1     247 50.33445 -2.240283     15.19
2     245 50.58483 -2.535217     14.11
3     239 50.16883 -2.509250     15.41
4     225 50.32848 -2.765967     15.34
5     229 50.63900 -2.964800     14.09
Run Code Online (Sandbox Code Playgroud)

我可以使用 Lat、Long 和 Temp 创建以下 voronoi 多边形,并使用一个简单的框来裁剪它们,以免它们永远延伸。

# Creating Stations
stations <- st_as_sf(df,
                     coords = c("Long_dec","Lat_dec")
                     )

# Create voronoi/thiessen polygons
v <- stations %>% 
  st_union() %>%
  st_voronoi() %>%
  st_collection_extract()

# Creating boundary box
box <- st_bbox(stations) %>% 
  st_as_sfc()

# Clipping voronoi to boundary box
hmm …
Run Code Online (Sandbox Code Playgroud)

r polygon rgdal r-leaflet

1
推荐指数
1
解决办法
548
查看次数

如何从向量创建子向量?每个子向量均由主向量的后续值组成

我正在尝试从主向量创建子向量。每个子向量将由主向量中的下一个后续值组成。

我正在尝试避免循环。x是输入,我希望输出为vec_1,vec_2依此类推。

x<-c(23,45,32,45,1,67,89,92,101,5,63,42,65)

vec_1 <- c(23,45)

vec_2 <- c(23,45,32)

vec_3 <- c(23,45,32,45)

vec_4 <- c(23,45,32,45,1)
Run Code Online (Sandbox Code Playgroud)

我试图以此方式生成带有索引的字符串向量。我无法将字符串从say转换"1:5"为c(1:5)。

x<-c(23,45,32,45,1,67,89,92,101,5,63,42,65)

a<-paste("1:",c(5:length(x)),sep="")

x[as.integer(a[1])] ###This does not work

Run Code Online (Sandbox Code Playgroud)

r

1
推荐指数
1
解决办法
47
查看次数

标签 统计

r ×7

dplyr ×2

r-leaflet ×2

apply ×1

data.table ×1

naming ×1

nse ×1

polygon ×1

purrr ×1

r-sp ×1

rank ×1

rgdal ×1

vector ×1