小编use*_*715的帖子

计算数据框中每13行的平均值

我有一个2列和3659行的数据框 df

我试图通过平均此数据框中的每10行或13行来减少数据集,所以我尝试了以下方法:

# number of rows per group
n=13
# number of groups
n_grp=nrow(df)/n
round(n_grp,0)
# row indices (one vector per group)
idx_grp <- split(seq(df), rep(seq(n_grp), each = n))

# calculate the col means for all groups
res <- lapply(idx_grp, function(i) {
  # subset of the data frame
  tmp <- dat[i]
  # calculate row means
  colMeans(tmp, na.rm = TRUE)
})
# transform list into a data frame
dat2 <- as.data.frame(res)
Run Code Online (Sandbox Code Playgroud)

但是,我不能将行数除以10或13,因为数据长度不是拆分变量的倍数.所以我不确定应该做什么(我只想要计算最后一组的平均值 - 即使少于10个元素)

我也试过这个,但结果是一样的:

df1=split(df, sample(rep(1:301, 10)))
Run Code Online (Sandbox Code Playgroud)

split r dataframe

9
推荐指数
3
解决办法
1万
查看次数

两行传单图例名称

我试图将图例的名称放在两行中,但通常的方法不起作用。你能帮我找出原因吗?

library(leaflet)

    dfXL = data.frame(
    lat = as.numeric(c("-30","-30.1","-30.5")),
    lng = as.numeric(c("14","14.6","14.6")),
    sizeXL = as.numeric(c("1","2","3")),
    color = "red")
    #dfXL
    palXL <- colorNumeric(palette=c("#FFFFFF","#FFA07A"), as.numeric(as.character(dfXL$sizeXL)))

    dfXL$size_color<- palXL(dfXL$sizeXL)
    dfXL
    XL = leaflet(dfXL)%>% 
    setView(lng = 10.132974, lat = 10.706839, zoom = 3) %>% 
    addProviderTiles("Esri.WorldImagery") %>% 
    addCircleMarkers(radius = ~sizeXL/25 , color = ~size_color, fill = F,clusterOptions = markerClusterOptions(freezeAtZoom = 16),opacity=1) %>%
    addLegend("bottomright",labels=dfXL$sizeXL,title=paste(expression(atop("a","b"))),opacity=1,colors=dfXL$size_color)

    XL
Run Code Online (Sandbox Code Playgroud)

r legend leaflet

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

如何使用动态创建的选项卡和 for 循环显示 ggplotly 绘图?

我有 R markdown 文档,我想动态创建其中包含 ggplotly 图形的选项卡

---
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

```{r}
library(ggplot2)
library(plotly)
```

```{r}
fig=ggplot(cars)+geom_point(aes(speed, dist))
```

# level 1
## level 2{.tabset .tabset-pills}

```{r echo=FALSE, results='asis'}

for (h in 1:3){
  cat("###", h,'{-}',  '\n\n')
 ggplotly(fig)
  cat( '\n\n')
}
```
Run Code Online (Sandbox Code Playgroud)

我知道它与普通ggplot图表不同,我在这里查看了解决方案:在此处输入链接描述,但它对我不起作用

for-loop r-markdown plotly

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

连接空间数据时如何解决球面几何故障

我有一个 shapefile(有几个多边形)和一个带坐标的数据框。我想将数据框中的每个坐标分配给 shapefile 中的多边形。因此,要在具有多边形名称或 id 的数据框中添加一列,这是数据链接

library(sf)
library(readr)
shape <- read_sf("data/mesopelagic_regions/GlasgowMesopelagicProvinces_v1_2017.shp")
data<- read_csv("data/data.csv")
Run Code Online (Sandbox Code Playgroud)

但是当我尝试加入他们时,我总是收到错误

pts = st_as_sf(data, coords = c("dec_lon", "dec_lat"), crs= 4326)

st_join(pts, shape)
Run Code Online (Sandbox Code Playgroud)

我尝试了over()函数和其他技巧,如 st_make_valid()但我总是收到此错误: Error in s2_geography_from_wkb(x, oriented = oriented, check = check) : Evaluation error: Found 30 features with invalid spherical geometry.

这是最近的问题(在我的代码工作之前),但现在我无法使用 sf 包来完成这项任务,我总是以这个错误告终。我更新了库以查看它是否有帮助,但我无法使其工作。

我真的很感激你在这件事上的帮助

r r-sf

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

标签 统计

r ×3

dataframe ×1

for-loop ×1

leaflet ×1

legend ×1

plotly ×1

r-markdown ×1

r-sf ×1

split ×1