R语言学习笔记2

本文介绍了R语言的基础操作,包括使用ls()查看内存对象,rm()删除对象,理解大小写敏感性,运用length()和mode()获取对象长度和类型,创建等差序列seq()和重复序列rep(),生成正态分布随机数rnorm(),以及如何通过条件筛选元素,操作列表元素,包括添加、删除和合并列表,以及使用unlist()转换列表类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ls()查看当前R内存中的数据对象

> data <- c(1,2,4,5)
> strings <- "I like R"
> ls()
[1] "data"    "strings"

rm()删除内存中的数据对象

> rm(data)
> ls()
[1] "strings"

R中区分大小写

a <- 1

A <- 2

会产生两个数据对象

length()返回长度

> v <- c(4,7,23,56,32)
> length(v)
[1] 5

mode()返回类型

> mode(v)
[1] "numeric"

seq()创建等差序列

> x <- seq(1,10,2) # 2为步长
> x
[1] 1 3 5 7 9

rep()创建重复序列

> rep(1:3, 3)
[1] 1 2 3 1 2 3 1 2 3

rnorm()生成正态分布的随机数值

> rnorm(6,mean=6, sd=2) 
[1] 7.305837 9.610760 5.246849 5.629409 1.948709 8.719698

x[条件语句]返回x向量中符合条件语句的元素

> x <- c(0,-3,4,-1,45,98,-12)
> x[x>0]
[1]  4 45 98

> x[-5] # 将第5个元素去掉
[1]   0  -3   4  -1  98 -12

> x[-(1:3)] # 将第1到3个元素去掉
[1]  -1  45  98 -12

列表元素

> mylist <- list(stud.id=1234,
+ stud.name="Tom",
+ stud.marks=c(12,3,14,25,16)
+ )
> mylist
$stud.id
[1] 1234

$stud.name
[1] "Tom"

$stud.marks
[1] 12  3 14 25 16

> a <- mylist[1] # 列表使用单括号返回值为列表类型
> a
$stud.id
[1] 1234

> mode(a)
[1] "list"

> b <- mylist[[1]] # 列表使用双括号返回值为列表中该元素的类型
> b
[1] 1234
> mode(b)
[1] "numeric"

names()返回列表中的各个元素名称

> names(mylist)
[1] "stud.id"    "stud.name"  "stud.marks"

用names() <- c()来更改列表的元素名称

> names(mylist) <- c("id", "name", "marks")
> mylist
$id
[1] 1234

$name
[1] "Tom"

$marks
[1] 12  3 14 25 16

列表中添加元素

> mylist$parents <- c("Mother","Father")
> mylist
$id
[1] 1234

$name
[1] "Tom"

$marks
[1] 12  3 14 25 16

$parents
[1] "Mother" "Father"

> mylist[-4] # 去掉mylist的第四个成分
$id
[1] 1234

$name
[1] "Tom"

$marks
[1] 12  3 14 25 16

合并列表

> other <- list(age=19, sex="male")

> lst <- c(mylist, other)
> lst
$id
[1] 1234

$name
[1] "Tom"

$marks
[1] 12  3 14 25 16

$parents
[1] "Mother" "Father"

$age
[1] 19

$sex
[1] "male"

将列表元素转换成元素类型unlist()

> unlist(lst)
      id     name   marks1   marks2   marks3   marks4   marks5 parents1 
  "1234"    "Tom"     "12"      "3"     "14"     "25"     "16" "Mother" 
parents2      age      sex 
"Father"     "19"   "male" 
> mode(unlist(lst))
[1] "character"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值