当前位置: 首页 > news >正文

c() 函数在 R 中的用途详解

c() 函数在 R 中的用途详解

c() 函数是 R 语言中最基础且最重要的函数之一,它是 “combine”(组合)的缩写,用于将多个值或向量组合成一个向量。

代码解析

在您提供的代码中:
model_origin <- c(
rep(“MDA PCa 79”, 3),
rep(“MDA PCa 117-9”, 3),
rep(“MDA PCa 130”, 2),
rep(“MDA PCa 144-4”, 5),
rep(“MDA PCa 144-13”, 4),
rep(“MDA PCa 146-10”, 3),
“MDA PCa 155-2”,
“MDA PCa 155-12”
)

c() 函数的作用是将所有 rep() 函数生成的向量和单独的元素组合成一个完整的向量。

c() 函数详解

基本语法

c(…, recursive = FALSE, use.names = TRUE)

• …:要组合的对象(可以是向量、列表或单个值)

• recursive:是否递归处理列表(默认为 FALSE)

• use.names:是否保留名称(默认为 TRUE)

结果解释

执行后,model_origin 向量将包含:
• 3 个 “MDA PCa 79”(来自 rep(“MDA PCa 79”, 3))

• 3 个 “MDA PCa 117-9”(来自 rep(“MDA PCa 117-9”, 3))

• 2 个 “MDA PCa 130”(来自 rep(“MDA PCa 130”, 2))

• 5 个 “MDA PCa 144-4”(来自 rep(“MDA PCa 144-4”, 5))

• 4 个 “MDA PCa 144-13”(来自 rep(“MDA PCa 144-13”, 4))

• 3 个 “MDA PCa 146-10”(来自 rep(“MDA PCa 146-10”, 3))

• 1 个 “MDA PCa 155-2”(直接作为字符串)

• 1 个 “MDA PCa 155-12”(直接作为字符串)

总共 3+3+2+5+4+3+1+1 = 22 个元素,与您的样本数量一致。

为什么使用 c()?

  1. 组合多个向量:将多个独立的向量合并成一个向量
  2. 创建复杂数据结构:可以混合使用重复模式和单个值
  3. 保持顺序:确保元素的顺序与输入顺序一致
  4. 基础操作:是许多更复杂操作的基础构建块

实际应用场景

  1. 创建简单向量

创建数值向量

numbers <- c(1, 2, 3, 4, 5)

创建字符向量

fruits <- c(“apple”, “banana”, “orange”)

创建逻辑向量

logicals <- c(TRUE, FALSE, TRUE)

  1. 组合现有向量

组合两个向量

vector1 <- c(1, 2, 3)
vector2 <- c(4, 5, 6)
combined <- c(vector1, vector2) # 结果: 1,2,3,4,5,6

  1. 添加元素到现有向量

在向量末尾添加元素

colors <- c(“red”, “green”, “blue”)
more_colors <- c(colors, “yellow”, “purple”)

在向量开头添加元素

more_colors <- c(“yellow”, colors)

  1. 创建因子变量

创建分组因子

groups <- c(rep(“Control”, 5), rep(“Treatment”, 5))
groups_factor <- factor(groups)

进阶用法

  1. 使用命名元素

创建带有名称的向量

named_vector <- c(a = 1, b = 2, c = 3)

  1. 递归组合(处理列表)

递归组合列表

list1 <- list(a = 1, b = 2)
list2 <- list(c = 3, d = 4)
combined_list <- c(list1, list2, recursive = TRUE)

  1. 类型转换

混合类型时会发生类型转换

mixed <- c(1, “two”, TRUE) # 所有元素会被转换为字符型

注意事项

  1. 类型一致性:c() 会尝试将所有元素转换为相同的类型(遵循类型优先级:字符 > 数值 > 逻辑)
  2. 维度丢失:使用 c() 会丢失矩阵或数组的维度属性
  3. 性能考虑:对于大型数据集,使用更高效的数据结构(如data.table)可能更合适

在您的临床数据框创建中,c() 函数与 rep() 函数配合使用,确保了模型来源信息能够准确对应到每个样本,这是进行正确分组分析的基础。

http://www.dtcms.com/a/390780.html

相关文章:

  • 使用Rsync+sersync实现数据实时同步
  • 关于conda forge长时间solving的问题以及如何解决
  • 前端学习手册-JavaScript基础语法(十)
  • 如何在 Linux 服务器上查看 GPU 型号与 CUDA 版本?
  • LeetCode hot 100 解题思路记录(三)
  • 小程序移动端设计UI(二)酒店自助入住小程序—东方仙盟练气期
  • 解决pnpm中的 Pinia 版本冲突:Cannot read properties of undefined (reading ‘_s‘)
  • 说一说大模型后训练的流程
  • 【微实验】激光测径系列(三)
  • Vim 使用从入门到精通
  • 快速实现 Excel 表格转 SVG:Java 教程
  • [极客大挑战 2019]LoveSQL
  • Excel和WPS表格中选中全部空单元格并输入相同内容
  • 日志易制造业安全UEBA解决方案
  • Java 将 HTML 转换为 Excel:实用指南
  • MySQL索引篇---数据结构的选择
  • 【STM32 CubeMX + Keil】 中断、NVIC 、EXTI
  • BIGO一面面试总结
  • Ansible-fetch模块
  • DevExpress WPF中文教程:DataGrid - 服务器数据和大型数据源
  • Vue项目不同页面显示不同的title
  • NW820NW825美光固态闪存NW829NW832
  • aosp13/14/15/16如何实现窗口局部区域高斯模糊毛玻璃效果及Winscope原生重大bug发现
  • Java微服务架构设计模式精解
  • 设计模式面试之单例模式常问知识点
  • 深入解析 MySQL 元数据锁 (MDL) 与 SHOW PROCESSLIST 实战
  • 能不能写一个可以在linux使用的类nano编辑器
  • Rocky10 使用kubeadm部署K8s v1.34 一主两从
  • 深入理解Buffer:数据世界的“蓄水池“
  • 通义万相开源 Wan2.2-S2V-14B,实现图片+音频生成电影级数字人视频