我有一个简单的问题,我无法弄清楚.我有一个包含两个因子(distance)和年(years)的数据帧.我想years用0 来完成每个因子的所有值.
即从这个:
distance years area
1 NPR 3 10
2 NPR 4 20
3 NPR 7 30
4 100 1 40
5 100 5 50
6 100 6 60
Run Code Online (Sandbox Code Playgroud)
得到这个:
distance years area
1 NPR 1 0
2 NPR 2 0
3 NPR 3 10
4 NPR 4 20
5 NPR 5 0
6 NPR 6 0
7 NPR 7 30
8 100 1 40
9 100 2 0
10 100 3 0 …Run Code Online (Sandbox Code Playgroud) 我创建了辅助 Y 轴,并使用 在那里放置了一个标签mtext。但是,我不知道如何旋转我的辅助 Y 标签以面对绘图 - 就像我的红色 Y2 标签?
我的虚拟数据,采用自: http: //robjhyndman.com/hyndsight/r-graph-with-two-y-axes/
x <- 1:5
y1 <- rnorm(5)
y2 <- rnorm(5,20)
par(mar=c(5,4,4,5)+.1)
plot(x,y1,type="l",col="red")
par(new=TRUE)
plot(x, y2,,type="l",col="blue",xaxt="n",yaxt="n",xlab="",ylab="")
axis(4)
mtext("y2",side=4,line=3)
legend("topleft",col=c("red","blue"),lty=1,legend=c("y1","y2"))
Run Code Online (Sandbox Code Playgroud)
结果:
我已经尝试过srt = ...,但las = ...它们都不起作用。
我不需要使用mtext,请问还有其他简单的解决方案吗?
谢谢 !
我想提交由ArcGIS 10.1和GoogleEarthPRO (GE)生成的KML文件作为我在Elsevier的论文的补充数据。
\n\n然而,审阅者给我回信:“属性“xsi:schemaLocation\xe2\x80\x9d”的前缀“xsi”中有一个错误。
\n\n当我尝试通过添加 .xml 扩展名并放入 Chrome 来简单验证 KML 文件时(如下: http: //kml4earth.appspot.com/kmlBestPractice.html),我收到错误:
\n\nerror on line 3 at column 217: Namespace prefix xsi for schemaLocation\non Document is not defined\nRun Code Online (Sandbox Code Playgroud)\n\n我通过ArcGIS 10.1(shp to KML,工具:Layer To KML)生成了KML,它生成了压缩的.kmz文件。我在 GoogleEarthPRO 中打开 .kmz 文件,并再次将我的位置保存为 .kml 文件。显然,.kml 文件运行良好,我可以在 GE 中打开该文件并在 PC 之间共享。
\n\n\n\n我还在这里尝试了 KMLvalidator: http: //www.kmlvalidator.org/validate.htm,但出现错误:
\n\nFile upload request was rejected. (/data/tomcat/base-kml-validator/temp/upload_2a88fa18_1591832a38f__7fff_00001631.tmp (No such file or directory)).\nRun Code Online (Sandbox Code Playgroud)\n\n我不明白为什么我的 .kml 文件似乎在多台 PC 上的 GoogleEarthPRO 中工作正常,但它显然包含 …
我有一个包含组和值的数据框。首先,我计算每组的 99% 分位数。现在,我想删除每个组中高于 99% 分位数的值。
df<-data.frame(group = rep(c("A", "B"), each = 4),
value = c(c(6,5,80,4,60)*10,3,5,4))
# data
group value
1 A 60
2 A 50
3 A 800
4 A 40
5 B 600
6 B 3
7 B 5
8 B 4
Run Code Online (Sandbox Code Playgroud)
计算各个组的分位数
quant<-aggregate(df$value, by = list(df$group), FUN = quantile, probs = 0.99)
> quant
Group.1 x
1 A 777.80
2 B 582.15
Run Code Online (Sandbox Code Playgroud)
我尝试应用分位数向量来选择较低的值。然而,它错过了组规范。
df[df$value < quant$x,]
Run Code Online (Sandbox Code Playgroud)
预期结果:
group value
1 A 60
2 A 50
4 A 40 …Run Code Online (Sandbox Code Playgroud) 我有一个由包创建的windrose{climatol}。行代表组(风速以米/秒为单位),列代表地理标志(N-北,S-南,...)。
N NNE NE ENE E ESE SE SSE S SSW SW WSW W WNW NW NNW
0-3 59 48 75 90 71 15 10 11 14 20 22 22 24 15 19 33
3-6 3 6 29 42 11 3 4 3 9 50 67 28 14 13 15 5
6-9 1 3 16 17 2 0 0 0 2 16 33 17 6 5 9 2
> 9 0 1 2 3 0 0 0 …Run Code Online (Sandbox Code Playgroud) 我试图从包含变量的数据框x和y变量中删除异常值cond.
我已经创建了一个函数来根据boxplot统计信息删除异常值,并返回df没有异常值的函数.应用原始数据时,该功能运行良好.但是,如果应用于分组数据,该功能不起作用,我收到了一个错误:
Error in mutate_impl(.data, dots) :
Evaluation error: argument "df" is missing, with no default.
Run Code Online (Sandbox Code Playgroud)
请问,我如何纠正我的函数以获取向量df$x和df$y参数,并正确地删除组中的异常值?
我的虚拟数据:
set.seed(955)
# Make some noisily increasing data
dat <- data.frame(cond = rep(c("A", "B"), each = 22),
xvar = c(1:10+rnorm(20,sd=3), 40, 10, 11:20+rnorm(20,sd=3), 85, 115),
yvar = c(1:10+rnorm(20,sd=3), 200, 60, 11:20+rnorm(20,sd=3), 35, 200))
removeOutliers<-function(df, ...) {
# first, identify the outliers and store them in a vector
outliers.x<-boxplot.stats(df$x)$out
outliers.y<-boxplot.stats(df$y)$out
# remove …Run Code Online (Sandbox Code Playgroud) 我有一个数据框,我想从中选择重要的列,然后过滤行以包含特定的结尾。
正则表达式使使用符号定义我的结束值变得简单xx$。但是,如何改变多种可能的结局(xx$, yy$)?
虚拟示例:
require(dplyr)
x <- c("aa", "aa", "aa", "bb", "cc", "cc", "cc")
y <- c(101, 102, 113, 201, 202, 344, 407)
type = rep("zz", 7)
df = data.frame(x, y, type)
# Select all expressions that starts end by "7"
df %>%
select(x, y) %>%
filter(grepl("7$", y))
# It seems working when I explicitly define my variables, but I need to use it as a vector instead of values?
df %>%
select(x, y) %>%
filter(grepl("[2|7]$", …Run Code Online (Sandbox Code Playgroud) 由于 pgirmess 包出现故障,我重新安装了 R。我已经重新下载了所有必需的软件包。我使用了在重新安装之前运行良好的相同脚本。但是我无法读取光栅对象,并且收到一条消息:
Error: file.exists(filename) is not TRUE
Run Code Online (Sandbox Code Playgroud)
但我知道这些文件存在!
如果我正在运行 {raster} 示例
f <- system.file("external/test.grd", package="raster")
f
r <- raster(f)
Run Code Online (Sandbox Code Playgroud)
{raster} 和 R 工作正常。有什么帮助吗?我真的无法想象问题出在哪里!(我已经验证了工作目录,检查不同程序中的文件存在,重新启动 R 和计算机,尝试从不同目录读取不同的光栅...)。当我尝试阅读表格时,效果很好。只有光栅文件有问题。真的非常感谢
在 R 中看起来如何:
> getwd() # where am I working?
[1] "D:/UEL/Data/2014_05_21 classify final/indexy"
> file.exists("n_msi2011.img") # does file exist?
[1] TRUE
> a<-raster("D:/UEL/Data/2014_05_21 classify final/indexy/n_msi2011.img") # read
# existing
# file
Error: file.exists(filename) is not TRUE # why???
Run Code Online (Sandbox Code Playgroud) 我想创建一个"网格化"的资源世界,与中心补丁保持特定的距离,并保持这些补丁之间的距离相等.由于计算需求,我宁愿不使用海龟来创造这个斑驳的世界.我希望创建这样的东西:
同样,我想将补丁之间的距离定义为滑块工具.我徘徊使用龟格步行,然后将补丁变成不同的颜色,但有没有办法如何没有乌龟?谢谢你的任何建议!
我的工作不完整:
to setup
clear-all
ask patches [set pcolor green]
foreach [5 10 15] [
repeat 9 [
make-red-patch ?
]
]
reset-ticks
end
to make-red-patch [dist]
crt 1 [
fd dist
rt 90
while [pcolor = red] [
bk dist
rt 90
fd 2 * dist
]
set pcolor red
die
]
end
Run Code Online (Sandbox Code Playgroud) 我有大约 300 个站点位于多个山脉类型。我正在尝试制作一些有意义的情节。因此,我想按山地类型(类型)对我的数据进行子集化,并通过 ggplot2 对其进行绘制。我想通过 for 循环或 lapply 自动化该过程,但我是两者的初学者。
我发现了一些使用 for 循环的好例子:http : //www.reed.edu/data-at-reed/resources/R/loops_with_ggplot2.html 或使用 lapply: Use for loop in ggplot2 to generate a list
但是,这两种方法都会生成空图。我究竟做错了什么?我该如何修复我的代码?
# Create dummy data
df<- data.frame(loc = rep(c("l1", "l2"), each = 3),
name = rep(c("A", "B"), 3),
grid = c(5,6,7,2,3,5),
area = c(5,10,1,1,3,1),
areaOrig = rep(c(20, 10, 5), each = 2))
df2<-rbind(df, df)
# Create two mountain types types
df2$type = rep(c("y", "z"), each = 6)
Run Code Online (Sandbox Code Playgroud)
创建function以生成图:
require(ggplot2)
type.graph <- function(df2, …Run Code Online (Sandbox Code Playgroud)