MARGIN=c(1,2):对行和列都进行操作 FUN内置的函数有mean(平均值)、medium(中位数)、sum(求和)、min(最小值)、max(最大值),当然还包括自定义函数 > library...,选择变量的同时也可以重新命名变量,类似于SQL语句中的where语句中的筛选条件。...,如: minutes、hours,years;与duration 有关的函数通常在对应的 period 函数前加 d,如:dminutes、dhours,dyears。...可以方便的与ggplot进行涂层叠加,实现在R中的地图绘制需求。 ggmap包中的函数 get_map:ggmap包中最基本函数,用来下载地图。 geocode:用来返回某地的经纬度。...ggmap:绘制地图函数,可与ggplot2中函数进行叠加。
文档编写目的 在前面的文章中介绍了用Ranger对Hive中的行进行过滤以及针对列进行脱敏,在生产环境中有时候会有脱敏条件无法满足的时候,那么就需要使用自定义的UDF来进行脱敏,本文档介绍如何在Ranger...中配置使用自定义的UDF进行Hive的列脱敏。...目前用户ranger_user1拥有对t1表的select权限 2.2 授予使用UDF的权限给用户 1.将自定义UDF的jar包上传到服务器,并上传到HDFS,该自定义UDF函数的作用是将数字1-9按照...6.再次使用测试用户进行验证,使用UDF函数成功 ? 2.3 配置使用自定义的UDF进行列脱敏 1.配置脱敏策略,使用自定义UDF的方式对phone列进行脱敏 ? ?...3.在配置脱敏策略时,方式选择Custom,在输入框中填入UDF函数的使用方式即可,例如:function_name(arg)
因为ggmap是哈神参与创建的包,专门为了拓展ggplot对于地图源的支持,弥补其制作数据地图方面的缺陷,所以我们从ggmap中get到的所有地图素材,都是可以直接供ggplot的图层函数调用的,只是之后的投影参数什么的部分会失效...(其实说起来,它相当于我们在之前的数据地图语法中,可以直接弃用ggplot()+geom_polygon()这两个部分,看过之前使用shp素材制作数据地图的小伙伴儿一定都知道,我们写代码的过程中,一般代码量都贡献给了...最后总结一下关于ggplot调用ggmap制作数据地图的几点建议: 弄清业务分析场景:ggmap中的在线地图素材大多是特定场景素材,有道路图、河流图、交通图、卫星图、等高线图、地貌图植被图等,只有明确自己的图表使用场景才能选好素材...明白图形使用场景:ggmap的地图更适合用于电子屏幕演示,接近实景,比较震撼观众,但是也因素接近实景,背景太过噪杂,不适宜出版物级别的用途,想要做成的简洁、清新,还是使用诸如shapefile这素材导入...语法上的差别:单纯使用ggplot结合shp素材制作,语法复杂,而借助ggmap,语法简洁,其中最重要的差异,我觉得是投影参数,在ggmap中请勿使用地图投影参数,因为在线地图本身自带投影,你不知情的情况下使用的投影格式很可能与素材的投影格式不一致
tibble会打印每个变量的类,data.frame不会 stringAsFactors默认不转换 输出时,只输出前10行 使用tidyr与正则表达式整理数据 整理数据包括数据清理和数据重构,前者是重定格式与标记脏数据...用法是:gather(data,key,value,-religion),分别是数据框,要转换成分类的列名,单元值的列名和清除收集的变量 使用seperate()分割联合变量 分割是指将一个实际由两个变量组成的变量分割成两个独立列...列改名 rename(),使用反引号‘`’包裹,允许R使用不规范的列名。...RODBC是一个资深包,提供R与SQL server的接口。DBI包提供了通用接口与驱动程序的类集,如RSQLITE,是访问数据库的统一框架,允许其他驱动程序以模块包添加。...数据库与dplyr 必须使用src_*()函数创建一个数据源。# 使用data.table()处理数据 是dplyr的替代,两个哪个好存在争议,最好学一个一直坚持下去。
绘制地图步骤有三: 你得需要绘制地图;(约等于废话) 你得有要绘制地图的地理信息,经纬度啊,边界啊等等; 你得利用2的数据在R中画出来。...比如由于mapdata中的中国地图比较久远了,谢老大的《终于搞定中国分省市地图》一文中就介绍了,先从国家基础地理信息中心下载中国各省市的地理数据,之后再绘制。...之后的OpenStreetMap包也是提供了方便下载地理数据的途径。 如您所看到的,第二种途径的步骤稍多,不利于大家上手。...自由的R只需要连接Google Map的API,一切就都有了,当然Google大爷不会让你无限制的取数据,目前的限制是2000次(应该是单天的限制),于是ggmap包诞生了,两位作者David Kahle...,引无数骚客竞折腰啊…… 2、 画美国地图 同样在maps包中包含了美国地图和美国各州郡的详细地图数据,同样的,也可以用简单的代码画出美国地图,便于我们使用。
快速计算点密度的度量并将其显示在地图上通常很有用。在本教程中,我们将使用 ggmap R 包中包含的德克萨斯州休斯顿的犯罪数据来演示这一点。 我们将从加载库开始。...请注意,由于 Google 提供地图的方式发生了变化,本课程中不再使用 ggmap 包来生成底图,但本教程中使用的数据包含在 ggmap 包中。...data(crime) # 删除任何有缺失数据的行 crime <- crime[complete.cases(crime), ] # 看一下犯罪数据的结构 str(crime) ## 'data.frame...计算密度的方法有很多种,如果密度估计的机制对您的应用程序很重要,那么研究专门用于点模式分析的软件包(例如spatstat)是值得的。...另一方面,如果为了探索性数据分析的目的,您正在寻找快速而肮脏的实现,您还可以使用 ggplot's stat_density2d,它MASS::kde2d在后端使用二元正态核来估计密度。
由于报了个以大巴车为主要交通工具的团,行程两千公里以上,跨越半个中国,我突发奇想觉得画个路线图是一个多么好玩的事,于是,我一路上用地图记录经过和几个大的地点,决定使用R语言来画个图看看。 ?...一、找到轮子 说干就干,百度了许多包,有ggmap2(下载中国地图参数需要翻,有点无语),map(没找到几个介绍的文章)等,终于REmap出现在了我的面前。...这个包刚好满足我需要画箭头来指示路线,对中文的支持度好。...先把图片放在这,其实这是一个网页内交互性的图,需要用浏览器打开,我把地址放在这里,需要用电脑打开,允许不安全的脚本才能看到,因为对这个包还只是初学,于是就先这样了。...济南") destination<-c("太原","呼和浩特", "包头","鄂尔多斯","呼和浩特","太原","济南","南京") #将上面这两列数据存储在一个数据框里面 dat = data.frame
包括两个方面,一方面是写的快,代码简洁,只要一行命令就可以完成诸多任务,另一方面是处理快,内部处理的步骤进行了程序上的优化,使用多线程,甚至很多函数是使用C写的,大大加快数据运行速度。...,类字符矢量,用于罕见的覆盖而不是常规使用,只会使一列变为更高的类型,不能降低类型; integer64,读如64位的整型数; dec,小数分隔符,默认"."...不然就是"," col.names,给列名,默认试用header或者探测到的,不然就是V+列号; encoding,默认"unknown",其它可能"UTF-8"或者"Latin-1",不是用来重新编码的...(sv=sum(v))] #对y列求和,输出sv列,列中的内容就是sum(v) DT[, ...., by=x][order(x)] #和上面一样,采取data.table的链接符合表达式 DT[v>1, sum(y), by=v] #对v列进行分组后,取各组中v>1的行出来,各组分别对定义的行中的
maps包和ggplot2包用于对地理信息数据按照其自身的投影信息和地理属性进行映射和视觉信息号编码。...Python中的空间地理信息数据可视化主要依赖geopandas,关于这一点,前一篇文章已经有过介绍了,geopandas中主要有两种数据对象,GeoDataFrame和GeoSeries,其中GeoSeries...列便是存储着空间地理信息数据的列表集合对象(geometry),其理念与R中的sf对象是一致的。...通过geojson或者shp导入的数据,其地理信息列(geometry)就是一组Polygon或者MutiPolygon的集合,这也是我们使用最多的地理信息空间数据格式,如果你想知道更多的关于R或者Python...中地理信息可视化呈现的信息,可以参考这两篇文章。
完全禁用引用,使用quote = ""。看到scan引号中嵌入引号的行为。只考虑读的性格,这是所有这些,除非colClasses指定的列引用。 参数:dec 字符用于在小数点文件。...如果有一个头的第一行包含列数少一个领域,在输入的第一列用于行名称。否则,如果row.names丢失,行编号。使用row.names = NULL部队排编号。...参数:comment.char 性格:特征向量的长度包含单个字符或一个空字符串之一。使用""完全关闭评论的解释。 参数:allowEscapes 逻辑。如\n处理或逐字读(默认)C风格逃逸?...参数:fileEncoding 字符串:如果非空的声明文件(未连接)上使用这样的字符数据可以被重新编码的编码。看到“编码”部分,帮助file“R数据导入/导出手册”和“注意”。...它是用来作为已知的Latin-1或UTF-8(见标记字符串Encoding):不使用它来重新编码输入,但允许R在他们的本地编码处理编码的字符串(如果这两个标准之一)。看到“价值”。
数据框由不同的行和列构成,不同的列可以是不同类型(数值型、字符型、逻辑型等)的数据,比如可以其中一列是数值型,另一列是逻辑型,另一列是字符型,等。但是同一列中必须是相同的类型。...数据框的创建 手动创建 数据框可通过函数data.frame()创建,使用方式如下: #创建数据框 df data.frame( Name = c("Alice", "Bob", "Charlie...(如字符型、数值型或逻辑型)。...修改和重编码 df$Gender[df$Gender == "Male"] <- "男" #把Gender这一列中的Male变成“男” df df$Score[df$Score >= 85] 对多个数据框垂直堆叠,也就是在一个数据框的下方添加另一个数据框,要求列数相同。
在R语言中通过程序包mice中的函数mice()可以实现该方法,它随机模拟多个完整数据集并存入imp,再对imp进行线性回归,最后用pool函数对回归结果进行汇总。...在R中,选取数据子集用中括号[] > data[data$salary>6] 3.4.3数据排序 R中的排序函数sort()只能对向量进行简单的排序,对含有多变量的数据集,需要用order指令来完成,...,与之非常相关的指令是秩(rank ),它返回每个数字在整个向量中的秩,可以简单地理解为各个数字的大小顺序。...>t (data) 3.5.1揉数据函数 R中有两个揉数据函数stack()和unstack|(),用于数据长格式和宽格式之间的转换. stack()把一个数据框转换成两列:一列为数据,另一列为数据对应的列名称...unstack()是stack的逆过程,被转换的对象包含两列,它把数据列按照因子列的不同水平重新排列,分离为不同的列。
多数情况下,我们会交替使用 tibble 和数据框这两个术语。 安装 tibble 包是 tidyverse 的核心包之一,因此安装 tidyverse 就可以了。...可以在 tibble 中使用在 R 中无效的变量名称(即不符合语法的名称)作为列名称。例如, 列名称可以不以字母开头,也可以包含特殊字符(如空格)。...tribble() 是定制化的,可以对数据按行进行编码:列标题由公式(以 ~ 开头) 定义,数据条目以逗号分隔,这样就可以用易读的方式对少量数据进行布局: tribble( ~x, ~y, ~z,...的使用方法主要有两处不同:打印和取子集。...最后总结 tibble 相对于数据框来说,更简单,但更方便使用,两者的主要区别是: tibble 不能创建行名。 tibble 不能改变输入的类型(例如,不能将字符串转换为因子)、变量的名称。
第一部分 变量重编码 在很多时候,我们需要对数据进行分类,比如根据血糖值将患者分成糖尿病组与非糖尿病组,亦或者按照年龄将样本分为老年人,中年人和青年人等等,这些就需要我们对数据进行重新编码。...<- c(0,1,1,0,1) # 向量sex mydata data.frame(x1,x2,age,sex) # 用向量构建新的数据框 # 按照年龄创建两个分类 mydata$agecat1...mydata # 查看数据 detach(mydata) # 解固定数据 关于如何在R中进行数据的索引,我会在以后的内容中和大家详细介绍,先掌握上面的索引方式即可。...第二部分 变量重命名 在R中你既可以采用编程的方式对变量进行重命名,也可以采用像SPSS那种的交互方式来修改变量名,这里推荐使用编程的方式来对变量进行重命名。...c(x1="ID"))names(mydata)#[1] "ID" "x2" "age" "sex" # 当然你也可以直接使用names()这个函数来对变量重命名 names(mydata) <-
这两株数据对象都可以通过读取shp数据获得 SP数据特点 SP空间数据对象是一个dataframe(数据描述层)和polygons(几何映射层)两个对象的组合 SP将地理数据分割为两大块:描述层和映射层...描述层记录各个地理区域的名称、ID、编号、简写、iOS编码等信息,可以通过data@data来获取描述曾数据框。...SF数据特点 最大特点hi是,他将每一个行政区划所对应的几何边界点封装成一个list对象,这条记录就像其他普通的文本记录一样,被排列在对应行政区划描述单元中 使用sf包的st_read()函数导入的空间数据对象完全是一个整齐的数据结构...,这些行列中包括了描述层和几何多边形的边界点信息。...SF对象我们只需要指定一次合并即可,即将描述层和你的分析数据合并,使用sf::st_read()函数读取数据即可得到SF数据对象,其为data.frame对象类型。
前言 我们对 leaflet 包做了一期简单的入门教程:空间地理数据可视化之 leaflet 包及其拓展。...批量下载 api 地址 高德地图地理编码的 api 每天可以查询 30 万次,所以可以将上述查询过程写成一个 function 来进行批量查询。...3.2 路径地图绘制 按照画线图的经验,平面直角坐标系中的一条线的位置由两个点决定,而两个点位置由它们分别的坐标 (X, Y) 决定,同理路径地图上的线由起点和终点决定,起点和终点由它们对应的经纬度决定...知道了绘图需要的基本数据,后面的就简单了,只要分别查询两个点的经纬度把他们合并到一个表就好了,这里就不赘述了。有数据的朋友也可以直接把数据整理下就行,下面的例子使用上面绘制散点地图的数据。...= "red" ##线条颜色 ) 3.3 导航路径图 这个是看高德地图的时候无意中发现的,高德还提供 api 来查询导航路径,详细可见:官方说明文档[1] 通过地理编码获得起点和终点的经纬度,
这是因为,在绘图的过程中,默认把经度和纬度作为普通数据,均匀平等对待,绘制在笛卡尔坐标系上造成的。其实,地球的球面图形如何映射到平面图上,在地理学上是有一系列不同的专业算法的。...如果有其他需要,可以使用其他的映射类型来绘制地图,如: mymap + coord_map(projection = "azequidistant")...,] plot(Shanghai) 其中ADCODE99是国家基础地理信息中心定义的区域代码,共有6位数字,由省、地市、县各两位代码组成。...解决方案有两个:一个是另辟蹊径,从非官方的www.gadm.org下载一份shp格式的中国地图来绘制;另一个解决方案是从官方发布的县级地图入手,根据ADCODE99编码适当合并,绘制省内地市分布图,同时利用...} 然后,再利用ImageJ软件对中南郡的每个区域轮廓线单独描边采样,这样做的缺点就是两个区域相邻边会有些不一致,出现小幅的咬合错位现象,但这个对美观影响不大。
的前6行: head(metadata) 之前已经提到data.frame默认使用字符值转换为因子。...str显示每列的具体信息: str(metadata) 'data.frame': 12 obs. of 3 variables: $ genotype : Factor w/ 2 levels...---- 因子的relevel 我们已经简要地讨论了一些因子,但只有在实战之后,这种数据类型才会变得更加直观。稍微绕道而行,了解如何在一个因素中重新定义类别。...然而,如果low = 1,medium = 2和high = 3,对我们来说更有意义,即我们有必要“重新定位”这个因素中的类别。...这体现在它们在str()中输出的方式以及在各个类别的编号在因子中的位置。 注意:当您需要将因子中的特定类别作为“基础”类别(即等于1的类别)时,需要重新调整。
这是因为,在绘图的过程中,默认把经度和纬度作为普通数据,均匀平等对待,绘制在笛卡尔坐标系上造成的。其实,地球的球面图形如何映射到平面图上,在地理学上是有一系列不同的专业算法的。...如果有其他需要,可以使用其他的映射类型来绘制地图,如: mymap + coord_map(projection = "azequidistant") coord_map...,] plot(Shanghai) 其中ADCODE99是国家基础地理信息中心定义的区域代码,共有6位数字,由省、地市、县各两位代码组成。...解决方案有两个: 一个是另辟蹊径,从非官方的www.gadm.org下载一份shp格式的中国地图来绘制; 另一个解决方案是从官方发布的县级地图入手,根据ADCODE99编码适当合并...} 然后,再利用ImageJ软件对中南郡的每个区域轮廓线单独描边采样,这样做的缺点就是两个区域相邻边会有些不一致,出现小幅的咬合错位现象,但这个对美观影响不大。
领取专属 10元无门槛券
手把手带您无忧上云