我试图描绘我正在阿拉伯/波斯湾研究的某些生物的生态分布.以下是我尝试过的代码示例:
背景层
library(ggplot2)
library(ggmap)
nc <- get_map("Persian Gulf", zoom = 6, maptype = 'terrain', language = "English")
ncmap <- ggmap(nc, extent = "device")
Run Code Online (Sandbox Code Playgroud)
其他层
ncmap+
stat_density2d(data=sample.data3, aes(x=long, y=lat, fill=..level.., alpha=..level..),geom="polygon")+
geom_point(data=sample.data3, aes(x=long, y=lat))+
geom_point(aes(x =50.626444, y = 26.044472), color="red", size = 4)+
scale_fill_gradient(low = "green", high = "red") + scale_alpha(range = c(0.00, 0.25), guide = FALSE)
Run Code Online (Sandbox Code Playgroud)
但是,我想用它stat_density2d
来显示数百种物种的分布(在列中记录,例如SP1 ...... SPn),而不仅仅是显示纬度和经度.
我正在试图弄清楚如何在gglot2中显示我的完整地图,包括岛屿.r_base和tmap都能够显示岛屿,但ggplot2无法将岛屿与其他水体区分开来......
.
我的问题是如何让群岛出现在ggplot2中?
请参阅下面使用的代码.
library(ggplot2)
library (rgdal)
library (rgeos)
library(maptools)
library(tmap)
Run Code Online (Sandbox Code Playgroud)
PG <- readShapePoly("iho.shp")
Q<-plot(PG)
对应于图A.
qtm(PG)
对应于图B.
AG <- fortify(PG)
ggplot()+ geom_polygon(data=AG, aes(long, lat, group = group),
colour = alpha("darkred", 1/2), size = 0.7, fill = 'skyblue', alpha = .3)
对应于图C.
我正在尝试读取几个".xrdml"类型的文件,并将它们组合成一个带有直观标签的数据框.问题是此文件类型具有大的元数据.
我尝试了以下内容
library(rxylib)
Run Code Online (Sandbox Code Playgroud)
temp = list.files(pattern="*.xrdml")
xyz<-do.call(rbind,sapply(temp, read_xyData,verbose = TRUE,metaData = FALSE))
Run Code Online (Sandbox Code Playgroud)
我最终得到了一个列表,我可以使用例如调用列表中的每个成员 xyz[[2]]
2Theta V2
[1,] 4.006565 3496
[2,] 4.019695 3417
[3,] 4.032826 3520
[4,] 4.045956 3516
[5,] 4.059086 3480
[6,] 4.072217 3343
[7,] 4.085347 3466
[8,] 4.098477 3552
[9,] 4.111607 3425
[10,] 4.124738 3384
Run Code Online (Sandbox Code Playgroud)
如果我尝试使用unlist函数展平列表,那么结果就会变得混乱
我想要做的是读入所有文件并按列组合,每个文件都有第一列共同点,即2Theta.我还想使用每个文件标题的唯一部分来标记V2
我的文件有的标题像"BBHD-FASS_4-70_step01_40s_ LM 11_5 .xrdml".我希望最终能做的是拥有一个类似于下面示例的数据帧
2Theta LM 6-26 LM 6-27 LM 6-28 LM 4-10 LM 4-11 LM 4-12
4.006565 3576 3535 3677 3576 3535 3677
4.019695 3526 3552 3662 3526 3552 …
Run Code Online (Sandbox Code Playgroud) 我正在使用此代码从文件夹“test_dir”中读取多个 .xls
library(readxl)
files <- list.files(path = "./test_dir", pattern = "*.xls", full.names = T)
tbl <- sapply(files, read_excel, simplify=FALSE, skip=7) %>%
bind_rows(.id = "id")
Run Code Online (Sandbox Code Playgroud)
每次,只有前 9 个数据集被读入 r ie Book1-Book9,有谁知道原因?在下图中查看我的文件夹的结构
样本数据
我不知道怎么做,因为我是R的新手,代码似乎令人困惑.我在网站上看到了以下代码,并试图将它们应用到我自己的工作中.
#Load the data
df <- read.table(file = "~/Desktop/PPS-data.txt", header = T)
#Create the plot and store
plot <- ggtern(data = df, aes(x = Xyp, y = XO, z = XY)) +
geom_point(aes(fill = Root),
size = 4,
shape = 21,
color = "black") +
ggtitle("PPS 3-State Model") +
labs(fill = "Root States") +
theme_tern_rgbw() +
theme(legend.position = c(0,1),
legend.justification = c(0, 1))
Run Code Online (Sandbox Code Playgroud)
他们使用的数据文件不可用,所以我无法查看它是如何安排的.
这是我的数据:
GRAVEL SAND MUD
0.95 93.55 5.49
8.06 44.38 47.55
1.76 79.35 18.89
10.11 87.37 2.53 …
Run Code Online (Sandbox Code Playgroud)