我有一个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) 我试图将图例的名称放在两行中,但通常的方法不起作用。你能帮我找出原因吗?
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 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图表不同,我在这里查看了解决方案:在此处输入链接描述,但它对我不起作用
我有一个 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 包来完成这项任务,我总是以这个错误告终。我更新了库以查看它是否有帮助,但我无法使其工作。
我真的很感激你在这件事上的帮助