R语言的小个性

这篇文章用来记录我在学习使用R语言中遇到的一些区别于其他程序语言的小问题,以及一些解决方案。会持续记录下去。

1.       除法

R语言的除法运算符与其他常见语言一致:/

> 8/5

[1] 1.6

但是取余运算符为:%%

> 8%%5

[1] 3

除法运算取整除数:%/%

> 8%/%5

[1] 1

除法四舍五入:round()

round()后面再带一个参数表明保留到第几位(为正数时是指保留几位小数,为负数时是指四舍五入到第几位)

> round(8/5)

[1] 2

> round(3.141592653,2)

[1] 3.14

> round(3.141592653*100000,-2)

[1] 314200


2.       list和data.frame的区别

list和data.frame是R中处理表格数据常见的两种格式,另外还有matrix。

先说matrix,它必须保证所有的数据都是同一类型的。

> b <-matrix(c(1,1,1, 2,2,3, 1,3,4, 2,1,4), ncol=3, byrow=T)

> b

     [,1][,2] [,3]

[1,]   1    1    1

[2,]   2    2    3

[3,]   1    3    4

[4,]   2    1    4

> a <- matrix(c(1,1,"wo",2,2,3, 1,3,4, 2,1,4), ncol=3, byrow=T)

> a

     [,1][,2] [,3]

[1,] "1"  "1" "wo"

[2,] "2"  "2" "3"

[3,] "1"  "3" "4"

[4,] "2"  "1" "4"

> mode(a)

[1] "character"

> mode(b)

[1] "numeric"

可以看到a跟b的差异就是a中有个字符类型的数据“wo”,但是打印出来后,其他数值类型数据也被转换为了字符类型。

现在来看list和data.frame的差异,它们都可以包含不同类型的数据但是也有些差异。

 差异1:部分数据查看及展示方式不同。list按列展示数据,data.frame按行展示。

> list <-list(a=c("hai","tian","xiang","jie","de"),b=c("di","fang","jiu","shi","wo"),c=c("qian"

,"gua","de","gu","xiang"))

> list

$a

[1] "hai"   "tian"  "xiang" "jie"   "de"  

$b

[1] "di"   "fang" "jiu"  "shi"  "wo" 

$c

[1] "qian"  "gua"   "de"    "gu"    "xiang"

> dataframe

     a    b     c

1  hai   di  qian

2  tianfang   gua

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值