R语言——数据与运算

  1. 练习基本运算:

v <- c (2,4,6,9)
t <- c (1,4,7,9)
print (v>t)
print (v < t )
print (v == t )
print (v!=t )
print (v>=t )
print (v<=t )

v <- c (3,1,TRUE,2+3i)
t <- c (4,1,FALSE,2+3i)
print (v&t)
print (v|t)
print (!v)

v <- c (3,0,TRUE,2+2i)
t <- c (1,3,TRUE,2+3i)
print (v&&t)

v <- c (0,0,TRUE,2+2i)
t <- c (0,3,TRUE,2+3i)
print (v||t)

v <- c (0,0,TRUE,2+2i)
t <- c (0,3,TRUE,2+3i)
print (v||t)

  1. 使用转义符,用cat ()在控制台中打印出下列格式的输出

To have a \ you need \\

This is a really

really really

long string

  1. 创建一个对象,并进行数据类型的转换、判别操作,步骤如下:
  1. 创建一个对象x,内含元素为序列:1,3,5,6,8
  2. 判断对象x是否为数值型数据
  3. 将对象转换为逻辑型数据,记为x1。将对象转换为字符型数据,记为x2
  4. 判断x1是否为逻辑型数据.
  1. 分别输出as.character(c(T,0,FALSE))和as.character(c(T,"TRUR",FALSE))的值,并描述两个值出现区别的原因.
  2. 构建一个数据框:

(1)将下列表格中的数据用数据框表述出来,命名为staff_table

|----|-------|-----|-----|
| 序号 | name | ID | age |
| 1 | jack | 001 | 12 |
| 2 | rose | 002 | 13 |
| 3 | jane | 003 | 14 |
| 4 | james | 006 | NA |

(2)提取staff_table的员工rose的数据

(3)提取rose、jane的ID、age数据

(4)运用数据框提取员工的年龄数据,计算均值

  1. 练习基本运算:

代码:

R 复制代码
v<-c(2,4,6,9)
t<-c(1,4,7,9)
print(v>t)
print(v<t)
print(v==t)
print(v!=t)
print(v>=t)
print(v<=t)

v<-c(3,1,TRUE,2+3i)
t<-c(4,1,FALSE,2+3i)
print(v&t)
print(v|t)
print(!v)

v<-c(3,0,TRUE,2+2i)
t<-c(1,3,TRUE,2+3i)
print(v[1]&&t[1])

v<-c(0,0,TRUE,2+2i)
t<-c(0,3,TRUE,2+3i)
print(v[1]||t[1])

v<-c(0,0,TRUE,2+2i)
t<-c(0,3,TRUE,2+3i)
print(v[2]||t[2])

结果:

  1. 使用转义符,用cat ()在控制台中打印出下列格式的输出

代码:

R 复制代码
cat("To have a \\ you need \\\\\n") 
cat("This is a really\nreally really")

截图:

  1. 创建一个对象,并进行数据类型的转换、判别操作,步骤如下:
  1. 创建一个对象x,内含元素为序列:1,3,5,6,8

代码:

R 复制代码
x <- c(1, 3, 5, 6, 8)

截图:

  1. 判断对象x是否为数值型数据

代码:

R 复制代码
is_numeric <- is.numeric(x)

cat("x 是数值型数据吗?", is_numeric, "\n")

截图:

  1. 将对象转换为逻辑型数据,记为x1。将对象转换为字符型数据,记为x2

代码:

R 复制代码
# 将对象转换为逻辑型数据,记为 x1
x1 <- as.logical(x)

# 将对象转换为字符型数据,记为 x2
x2 <- as.character(x)

截图:

  1. 判断x1是否为逻辑型数据

代码:

R 复制代码
# 判断 x1 是否为逻辑型数据

is_logical <- is.logical(x1)

cat("x1 是否为逻辑型数据?", is_logical, "\n")

截图:

  1. 分别输出as.character(c(T,0,FALSE))和as.character(c(T,"TRUR",FALSE))的值,并描述两个值出现区别的原因.

代码:

R 复制代码
# 输出 as.character(c(T, 0, FALSE)) 的值

cat("as.character(c(T, 0, FALSE)) 的值:", as.character(c(T, 0, FALSE)), "\n")



# 输出 as.character(c(T, "TRUR", FALSE)) 的值

cat("as.character(c(T, \"TRUR\", FALSE)) 的值:", as.character(c(T, "TRUR", FALSE)), "\n")

截图:

原因:

as.character(c(T, 0, FALSE)) 的值为 "TRUE" "0" "FALSE",而 as.character(c(T, "TRUR", FALSE)) 的值为 "TRUE" "TRUR" "FALSE"。这里的区别在于第二个向量中包含了一个字符型元素 "TRUR",而不是整数型元素。

在 R 语言中,逻辑值 TRUE 和 FALSE 会被转换为字符型 "TRUE" 和 "FALSE",而数字 0 会被解释为逻辑值 FALSE,最终被转换为字符型 "FALSE"。因此,在第一个向量中整数型的 0 被转换为字符型 "0",而在第二个向量中字符型的 "TRUR" 保持不变。

  1. 构建一个数据框:

(1)将下列表格中的数据用数据框表述出来,命名为staff_table

|----|-------|-----|-----|
| 序号 | name | ID | age |
| 1 | jack | 001 | 12 |
| 2 | rose | 002 | 13 |
| 3 | jane | 003 | 14 |
| 4 | james | 006 | NA |

代码:

R 复制代码
# 创建数据框

staff_table <- data.frame(

  序号 = c(1, 2, 3, 4),

  name = c("jack", "rose", "jane", "james"),

  ID = c("001", "002", "003", "006"),

  age = c(12, 13, 14, NA)

)



# 显示数据框

print(staff_table)

截图:

(2)提取staff_table的员工rose的数据

代码:

R 复制代码
# 提取员工"rose"的数据

rose_data <- staff_table[staff_table$name == "rose", ]



# 显示提取的数据

print(rose_data)

截图:

(3)提取rose、jane的ID、age数据

代码:

R 复制代码
# 提取rose、jane的ID、age数据

rose_jane_data <- staff_table[staff_table$name %in% c("rose", "jane"), c("name", "ID", "age")]



# 显示提取的数据

print(rose_jane_data)

截图:

(4)运用数据框提取员工的年龄数据,计算均值

代码:

R 复制代码
# 提取员工的年龄数据

age_data <- staff_table$age



# 计算均值

mean_age <- mean(age_data, na.rm = TRUE)



# 显示均值

print(mean_age)

截图:

相关推荐
云空8 分钟前
《解锁 Python 数据挖掘的奥秘》
开发语言·python·数据挖掘
青莳吖18 分钟前
Java通过Map实现与SQL中的group by相同的逻辑
java·开发语言·sql
Buleall25 分钟前
期末考学C
java·开发语言
重生之绝世牛码27 分钟前
Java设计模式 —— 【结构型模式】外观模式详解
java·大数据·开发语言·设计模式·设计原则·外观模式
小蜗牛慢慢爬行34 分钟前
有关异步场景的 10 大 Spring Boot 面试问题
java·开发语言·网络·spring boot·后端·spring·面试
Algorithm157643 分钟前
云原生相关的 Go 语言工程师技术路线(含博客网址导航)
开发语言·云原生·golang
shinelord明1 小时前
【再谈设计模式】享元模式~对象共享的优化妙手
开发语言·数据结构·算法·设计模式·软件工程
Monly211 小时前
Java(若依):修改Tomcat的版本
java·开发语言·tomcat
boligongzhu1 小时前
DALSA工业相机SDK二次开发(图像采集及保存)C#版
开发语言·c#·dalsa
Eric.Lee20211 小时前
moviepy将图片序列制作成视频并加载字幕 - python 实现
开发语言·python·音视频·moviepy·字幕视频合成·图像制作为视频