5种基本的数据类型: Numeric:数值类型,像10.5或者13.232 Integer:整数型数字,像10或者13 Character/String:字符型或者称作字符串类型的,像“car”或者"I love data!"Logical/Boolean:逻辑值,或者称布尔值,像T,F,TRUE,FALSE Factors:R语言中的一种特殊数据类型,用来存放分类变量,像汽车的品牌,Toyota,Honda,Lexus 在R语言中逻辑类型的数值可以转换为数值类型的来表示,像True,等价于1,False等价于0 例如:TRUE+TRUE+FALSE+TRUE得到的结果是3逻辑操作符,返回值是TRUE和FALSE
试一下,可以把数据向量转换成逻辑向量: numer_vector=c(0,0,1,5,299) as.logical(numer_vector) 得到的结果:FALSE FALSE TRUE TRUE TRUE 变量赋值: 5==5 10!=1 7>29 我们可以通过给变量赋值,在R中来存储数据,通常在R中使用“=”或者“<-”来给变量赋值 x=5 y=25 my_variable="I like apples" x my_variable 你也可以在R中存储表达式: x_plus_y=x+y x_plus_y得到的结果是:30 my_variable的数据类型是:String 要想得到任何变量的值,你只需要在R控制台中输入变量名,然后回车即可。 R中的公共函数 Crunchbase是一个数据库。我们将使用这个数据库来展示R在数据分析中的基本功能。 让我们把这个数据集读入R,使用read.csv()函数。 首先,我们创建一个变量,startup_data; 然后我们给这个变量赋值,把read.csv()函数读入的数据赋值给它; read.csv()函数的第一个参数是文件的名字,必须是一个string类型的数据。 第二个参数,我们使用header,我们设置它为true,因为我们想让CSV文件中的第一行成为列的名字; 第三个参数我们使用strignsAsFactors,我们设置它为false,因为我们想保持我们的数据是string类型的。 startup_data = read.csv ( 'crunchbase_monthly_export.csv' , header = T, stringsAsFactors = F) R中的函数,通常允许多个内部参数,他们中的许多都有默认值,而且并不需要编辑,除非你有特殊需求。可以使用help()函数来查看每个函数的用法。 这里有几个公共的函数,你可以使用,熟悉一下数据集合。 head(startup_data):选择数据集合的前6行。 tail(startup_data):选择数据集合的最后6行。 nrow(startup_data):返回数据集里面的行数。 ncol(startup_data):返回数据集合里面的列数。 colnames(startup_data):返回数据集合里面列的名字。 help():查看R包中已经存在的函数信息。 使用R中的help函数 在R中,存在上百个可供使用的函数,为了可以更好的理解怎样使用它们,这可以省去你几个小时的写代码时间。 让我们看看sum()函数怎么使用。 敲入命令:help(sum) 通过读help的输出,我们可以看到,sum共有两个参数:
下面的代码返回值为NA: vector_one=c(10,20,30,NA,40) sum(vector_one) 这样,函数的结果返回值为NA 如果使用下面的代码,则返回值为正确的结果: sum(vector_one,na.rm=T) 小技巧:我们不用记住函数怎么使用,最重要的是,我们要记住怎么使用help()函数! R中的向量 向量是最基础的数据结构在R语言中。在R语言中,我们可以使用c()来创建一个向量。下面我们创建一个向量,并且给这个变量起名字为my_vector: my_vector=c(2,14,10,15,3) my_vector 甚至一个向量的长度是1.你可以使用下面非常智能的操作: my_vector*2#这里我们给向量中的每个元素都乘以了2 my_vector+my_vector#这里向量里面的每个元素都自己加上了自己 R语言中的Data Frames data frame是我们在R中涉及到的第三方数据结构。我们前面加载的第三方数据及Crunchbase, 存入了变量startup_data, 其实就是一个data frame。你可以查看一些应用在R中。 is.data.frame(startup_data) is.matrix(startup_data) 你可以使用$来选择data frame中的指定列,$符号后面只需要跟列的名字即可。 你也可以使用[row,column]这种语法来对data frame类型的数据进行索引。这里我们取出所有行,第一列和第三列的数据: startup_data[,c(1,3)] 函数c()创建了一个向量,用来取的第一列和第三列的数据。 使用head()来更好的从你的返回结果中得到图片。 head(startup_data[,c(1,3)])这里得到的是返回结果中前六行的数据。 你也可以指定列名字来获取数据: mini_frame=startup_data[1:10,c("name","market","funding_total_usd")] 这样得到的mini_frame会有10行3列数据。 data frame中的逻辑索引 现在让我们来检索一个数据,并且把它保存到一个变量yong_startups中,这个数据要求是从2012年之后建立的。 yong_startups=startup_data$founded_year>2012 上面的这行代码发生了什么: 1、我们创建了一个变量young_startups并且把等号右边的代码得到的结果赋值给它 2、startup_data$founded_year>2012创建了一个逻辑向量。它会遍历founded_year这一列中的所有数值,然后,如果它比2012这个数大,就返回true,否则就返回false。 让我们来看young_startups[1:10]这个变量的前10行,并且把它和startup_data$founded_year[1:10]的前十行进行比较。 1、young_startups[1:10] 2、startup_data$founded_year[1:10] 为了找到startups中有多少个是在2012年之后创建的,我么可以对向量young_startups进行求和。 由于有一些丢失值,我们设置na.rm=T。 sum(young_startups,na.rm=T) 我们将会得到一个结果4904 你也可以使用逻辑比较,使用strings而不是integers. |
|