我正在研究一个非检测数据框,用'<'编码.有时在'<'之后有一个空格,有时不是例如'<2'或'<2'.我想删除每一个空间.
例:
data <- data.frame(name = rep(letters[1:3], each = 3), var1 = rep('< 2', 9), var2 = rep('<3', 9))
name var1 var2
1 a < 2 <3
2 b < 2 <3
3 c < 2 <3
Run Code Online (Sandbox Code Playgroud)
这是我必须要做的:
我可以提取所有值并创建新字符串,但我不能将它们放回数据框中.
index <- str_detect(unlist(data), '<')
index <- matrix(index, nrow = 3)
data[index]
#[1] "< 2" "< 2" "< 2" "<3" "<3" "<3"
replacements <- str_replace_all(data[index], "<[ ]+","<")
replacements
#[1] "<2" "<2" "<2" "<3" "<3" "<3"
data[index] <- replacements
#Error in `[<-.data.frame`(`*tmp*`, index, …Run Code Online (Sandbox Code Playgroud) 请帮我在 mapview 地图上标记点。我可以绘制点确定。然后我想标记点“A 点”、“B 点”。我也更喜欢在没有标记点的情况下执行此操作,即我将仅使用坐标来定位标签。
library(sf)
library(mapview)
library(tidyverse)
points <- tribble(~name, ~lat, ~lon,
'Point A', -38.119151, 145.401893,
'Point B', -38.127870, 145.685598)
points_sf <- st_as_sf(points, coords = c("lon", "lat"), crs = 4326)
mapview(points_sf)
Run Code Online (Sandbox Code Playgroud)