D03-R语言基础学习
R语言基础学习——D03
20190423内容纲要:
1、导入数据
(1)从键盘输入
(2)从文本文件导入
(3)从excel文件导入
2、用户自定义函数
3、R访问MySQL数据库
(1)安装RODBC包
(2)下载connector ODBC
(3)添加驱动
4、推荐
1 导入数据
导入数据的方式有很多种,比如键盘输入,比如导入文本文件,比如excel,比如,算了别比如了。直接上图
(1)键盘输入
首先,创建一个数据帧。定义数据结构。
然后edit进入编辑。
> mydata <- data.frame(age=numeric(0), + gender=character(0), + weight=numeric(0)) > mydata [1] age gender weight <0 行> (或0-长度的row.names)
>mydata <- edit(mydata
#注:编辑的结果需要赋值回对象本身。函数edit()事实上是在对象的一个副本上进行操作的。如果不将值赋值到一个目标,所有的修改将会全部丢失。所以还有另外一种方式fix
这样就可以愉快地手动录入数据了。ctrl+alt+shfit+s保存
注:单击列的标题,可以用编辑器修改变量名和变量类型(数值型、字符型)。也可以通过单击未使用的列的标题来添加新的变量。
当然还有另外一种办法fix(mydata)这种直接进行修改就行,而且不需要保存!更加便捷!当然啦。这种对于大量的数据集显然是不友好的。
(2)从文本文件导入数据集
>data <- read.table("文件路径", head=TRUE, seq=",")
>head(data)
注:文件的编码格式必须是ASCII码。如果是utf-8怎么办呢?用文本编辑器打开,另存为,选择编码格式ANSI就ok!
(3)导入excel文件
首先,先尝试一下read.table()
>data <- read.table("文件路径", head=TRUE, seq=",") #这样虽然不会报错但是会出现警告。 >data
这样不行,那怎么办呢????打开excel另存为csv格式,逗号分隔文件。
然后再次尝试
>data <- read.csv("文件路径", head=TRUE, seq=",") >data
2、用户自定义函数
用户自定义函数的格式
myfunction <- function(arg1, arg2, ...){ statements return(object) }
那么接下来,创建一个显示当前时间的函数:
> myfunction <- function(type){ + switch(type, + long = format(Sys.time(), "%A %B %d %Y"), + short = format(Sys.time(), "%m-%d-%y"), + cat(type, "is not recongized type\n") + ) + } >> myfuction("long") [1] "星期三 四月 24 2019" > myfuction("short") [1] "04-24-19" > myfuction("1") 1 is not recongized type
接下来,创建一个求和函数:
要求使用for循环
> sum <- function(num){ + for (i in 1:num){ + x <- x + i + }} > sum function(num){ for (i in 1:num){ x <- x + i }} > fix(sum) > sum(50) Error in sum(50) : 找不到对象'x'
为什么会报错呢?是因为给x赋值。这个时候、fix就能排上用场了!
>fix(sum)
> sum(50) > sum function(num){ x <- 0 for (i in 1:num){ x <- x + i }} <bytecode: 0x00000000057a8298>
这种情况是因为没有return。
再次使用fix,添加~再次输入>sum(3)
3、R访问MySQL数据库
(1)安装RODBC包
install.packages("RODBC")
选择中国的源,上海或者北京都行。安装完成之后是这样的。
(2)下载connector ODBC
https://dev.mysql.com/downloads/connector/odbc/
下载之后,安装完成之后。开始添加数据库驱动
(3)添加驱动
控制面板->管理工具->数据源(ODBC)->双击->添加->选中 mysql ODBC driver
点击完成之后弹窗:
接下来访问数据库。因为本机数据库里并没有数据,所以就是下面这样。如果有数据就会正常显示!
4、推荐
推荐1:uninstall tools 一款卸载软件。据说是真的能完全彻底地卸载。很轻量化,值得入手~ https://www.crystalidea.com/uninstall-tool
推荐2:一款集成各大音乐平台的听歌软件,listen1。目前体验来说除了不能再桌面显示歌词以外,个人觉得十分良心。
我是尾巴~
总要说一句有哲理的话,显得自己深刻(装逼)
有些人一辈子,没有得到自己想要的,因为总是半途而废。所以,你要坚持!!!