我有两个变量(即):
a <- 1
b <- 2
Run Code Online (Sandbox Code Playgroud)
我想换掉他们的价值观.是否有内置的R功能,能够执行该操作?或者是否有其他优雅的方式,而不使用第三个(临时)变量?
注意:如果可能,则适用于字符串或其他数据类型.
我正在使用R的数据包闪亮,我在我的ui.R中实现了dateRangeInput:
dateRangeInput("date", "Date range:",
start = "2013-05-15",
end = "2013-10-01",
min = "2013-05-15",
max = "2013-10-01",
format = "dd/mm/yy",
separator = " - ")
Run Code Online (Sandbox Code Playgroud)
如果我显示选定的最小值和最大值,我得到以下(奇怪的)输出:
最小日期值:
renderText({(input$date[1])})
Run Code Online (Sandbox Code Playgroud)
输出:
15840
Run Code Online (Sandbox Code Playgroud)
最大日期值:
renderText({(input$date[2])})
Run Code Online (Sandbox Code Playgroud)
输出:
15979
Run Code Online (Sandbox Code Playgroud)
为什么我在输出中得到这些数字而不是从ui.R本身中选择的数据:2013-05-15和2013-10-01?我怎样才能将它转换成这样的格式?as.Date不起作用.
我正在尝试使用 R 和 postgres 包连接到我的数据库的一些动态 SQL 查询。
不幸的是,如果执行以下语句,我会得到一个空数据框:
x <- "Mean"
query1 <- dbGetQuery(con, statement = paste(
"SELECT *",
"FROM name",
"WHERE statistic = '",x,"'"))
Run Code Online (Sandbox Code Playgroud)
我相信最后一行有语法错误。我已经以各种可能的方式更改了逗号和引号,但似乎没有任何效果。有谁知道如何使用 R 变量通过动态 WHERE 语句构造此 SQL 查询?
我在美国有大约500,000个R 迁徙鸟类的发生数据.
我试图在这些点上叠加网格,然后计算每个网格中出现的次数.计算完计数后,我想将它们引用到网格单元ID.
在R中,我使用该over()函数来获取范围映射中的点,这是一个shapefile.
#Read in occurrence data
data=read.csv("data.csv", header=TRUE)
coordinates(data)=c("LONGITUDE","LATITUDE")
#Get shapefile of the species' range map
range=readOGR(".",layer="data")
proj4string(data)=proj4string(range)
#Get points within the range map
inside.range=!is.na(over(data,as(range,"SpatialPolygons")))
Run Code Online (Sandbox Code Playgroud)
上面的工作正如我所希望的那样,但没有解决我当前的问题:如何处理类型的点SpatialPointsDataFrame,以及栅格的网格.您是否建议使用上面指出的相同方法对栅格网格进行多边形化?或者另一个过程会更有效率?
当我尝试从命令行使用“ .py”功能时,我的GDAL表现出奇怪的行为:
1.例如,当我运行时gdalinfo --version,我得到标准响应:
GDAL 1.11.3, released 2015/09/16
Run Code Online (Sandbox Code Playgroud)
2.同样,当我跑步时gdalwarp,我得到标准的响应,向我显示标志和所有内容。
3.问题:
但是,例如,当我使用扩展名为.py的gdal函数运行时gdal_polygonize.py,会得到以下信息:
Traceback <most recent call last>:
File "C:\OSGeoW64\bin\gdal_polygonize.py", line 36, in <module>
import gdal, ogr, osr
ImportError: No module named gdal
Run Code Online (Sandbox Code Playgroud)
我检查了Path变量,重新安装了python和gdal,但没有任何效果。当我gdal_polygonize.py从QGIS 运行该功能时,它就可以工作。我只是不能从命令行使用它。
数据:
我有一个matrix名为mat的距离,具有以下标签和值:
>mat
179 175 176 181 249
175 147.451648
176 174.527392 28.849183
181 187.166092 40.007553 16.310747
249 194.644103 49.268129 20.637011 17.118671
336 190.182183 44.613076 16.023090 13.697248 5.613544
Run Code Online (Sandbox Code Playgroud)
问题:
我想为矩阵的最小值 (5.613544) 提取行和列标签。
预期的输出类似于:
[1] 336 249
Run Code Online (Sandbox Code Playgroud)
我尝试使用colnames(mat)andrownames(mat)但都返回NULL.
我知道该函数labels(mat)能够返回标签:
[1] "179" "175" "176" "181" "249" "336"
Run Code Online (Sandbox Code Playgroud)
但在这里我被卡住了,无法理解它。它可能很简单,提前抱歉问这个简单的问题。关于如何做到这一点的任何想法?
这里我的数据使用dput():
structure(c(147.451648169349, 174.527392333086, 187.166091923018,
194.644102830409, 190.182183344061, 28.849182654733, 40.007553207889,
49.2681293306533, 44.6130761331497, 16.3107466873124, 20.6370107209517,
16.0230895738958, 17.1186706020006, 13.6972482228087, 5.6135436361904
), Size = 6L, …Run Code Online (Sandbox Code Playgroud) 有没有办法将信息包含/打印到闪亮的服务器日志文件中?
我正在使用一个闪亮的应用程序,其中包含一个用户登录,如果我的应用程序崩溃,我想知道是什么用户导致了这次崩溃。
我试图将它包含在我的server.R:
#PRINT FOR LOG FILE------------
cat(paste0("Username: ",userdata$name, "\n"))
cat(paste0("Datum: ",Sys.time(), "\n"))
Run Code Online (Sandbox Code Playgroud)
但它不起作用。有任何想法吗?
我最近偶然发现了两个rasterOptions可以改善R:chunksize和R中光栅操作性能的可能性maxmemory.然而,我很困惑,区别在于什么.帮助页面说明:
chunksize: 处理(块中的块)基于磁盘的Raster*对象时在单个块中读/写的最大单元数.
maxmemory:读入内存的最大单元数.即,如果Raster*对象具有超过此数量的单元格,则canProcessInMemory将返回FALSE.
根据我的理解,它们都是相同的,至少我无法通过定义弄清楚它们之间的差异以及它们如何相互影响.即低chunksize结合高maxmemory值?
当我尝试运行以下命令时:
SELECT ST_AsGeoJSON(the_geom)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
HINT: Could not choose a best candidate function. You might need to add explicit type casts.
Run Code Online (Sandbox Code Playgroud)
在备份我的数据库然后在本地托管的新数据库上恢复它后,我收到了此错误消息。有关如何解决此问题的任何建议?我浏览了网页,发现一个可能的解决方案是运行“postgis_upgrade_20_minor.sql 文件”。(https://groups.google.com/forum/#!topic/postgis-users/qrk4FD-k5H8)但我不知道那是什么以及在哪里可以找到这个文件(因为我对 SQL 和 PostGIS 很陌生)。
我正在尝试将netCDF文件作为光栅读入R。netCDF文件描述了海洋年平均温度与经度,纬度和深度的关系。我关心的是海洋表面(即netCDF文件中的第一级),它t_an是netCDF文件中变量的名称。因此,我使用以下代码:
MyRast <- raster("Temperature.nc", level = 1, varname = "t_an")
Run Code Online (Sandbox Code Playgroud)
这给了我以下警告:
Warning message:
In .getCRSfromGridMap4(atts) : cannot process these parts of the CRS: epsg_code=EPSG:4326
Run Code Online (Sandbox Code Playgroud)
如您所见,netCDF文件具有CRS EPSG 4326(或WGS 84),但是创建的栅格具有以下CRS:
+proj=longlat +lon_0=0 +a=6378137 +rf=298.257232666016
Run Code Online (Sandbox Code Playgroud)
有任何想法如何使用正确的CRS读取netCDF文件吗?
r ×8
r-raster ×3
raster ×2
shiny ×2
sql ×2
command-line ×1
date ×1
dynamic-sql ×1
gdal ×1
logging ×1
matrix ×1
netcdf ×1
postgis ×1
postgresql ×1
python ×1
shiny-server ×1