R_机器学习——常用语法技巧汇总

1. , 搜索妙用

在R语言中,当你使用双括号[ , ]来索引数据框(data frame)或矩阵(matrix)时,第一个位置是用来指定行的索引或名称,第二个位置是用来指定列的索引、名称或逻辑条件。

  • 第一个位置(即,前面的部分)用于指定你想要选择的行。你可以通过行的索引(数字)或行的名称(如果是字符型的话)来指定。

  • 第二个位置(即,后面的部分)用于指定你想要选择的列。同样地,你可以通过列的索引、列的名称或一个逻辑向量来指定。

例如,假设你有一个名为df的数据框,它包含几行和几列数据。如果你想选择第3行和第2列的数据,你可以这样做:

|---|------------|
| | df[3, 2] |

或者,如果数据框的行有名称(比如"row1", "row2", ...),列也有名称(比如"col1", "col2", ...),你可以使用这些名称来索引:

|---|----------------------|
| | df["row3", "col2"] |

如:

|---|--------------------------------------------------------------------|
| | tree_gini$cptable[which.min(tree_gini$cptable[,"xerror"]), "CP"] |

  • which.min(tree_gini$cptable[,"xerror"]) 这部分代码计算xerror列中最小值的位置(行索引)。
  • 然后,这个行索引被用在外部的双括号索引中,与列名"CP"一起,来选择cptable中对应行的CP值。

所以,在这个特定的例子中,第一个位置是指定行的索引(通过which.min()函数找到),第二个位置是指定列的名称("CP")。

2.()输出妙用

在R语言中,使用()进行输出妙用通常指的是在控制台中立即打印或显示某个对象或表达式的结果。

如果你有一个变量x,并且想要立即在控制台中查看它的值,你可以简单地在它后面加上()(尽管对于单个变量这通常不是必需的,因为直接输入变量名也会显示其值)。但是,这种用法在结合其他函数或表达式时很有用。

|---|--------------------|
| | x <- 42 |
| | (x) # 输出: [1] 42 |

R 复制代码
(confusion_matrix <- confusionMatrix(prediction, factor(test$y)))

3.其它常用技巧(精简版)

names()

设置或获取对象名称

|---|--------------------------------------------------------|
| | names(df) # 获取df数据框的所有列名 |
| | names(df) <- c("new_col1", "new_col2", ...) # 设置新的列名 |

cbind()rbind()

合并数据框或矩阵

|---|--------------------------------------------|
| | new_df <- cbind(df1, df2) # 按列合并df1和df2 |
| | new_df <- rbind(df1, df2) # 按行合并df1和df2 |

subset()

根据条件选择数据框的子集

|---|------------------------------------------------------------|
| | subset_df <- subset(df, col1 > 10 & col2 < 5) # 选择满足条件的行 |

with()

在数据框的上下文中执行表达式

|---|-------------------------------------------------------|
| | with(df, sum(col1 * col2)) # 计算df中col1和col2的逐元素乘积之和 |

apply()

对数据框或矩阵的行或列应用函数

|---|----------------------------------------|
| | apply(df, 1, sum) # 对df的每一行应用sum函数 |
| | apply(df, 2, mean) # 对df的每一列应用mean函数 |


++to be continued!!!++

相关推荐
咕泡科技几秒前
咕泡科技FDE系列最新产品重磅发布!
人工智能·大模型·ai落地·fde·前沿部署工程师
犀利豆12 分钟前
为什么全世界的 AI 都画不好一只骑自行车的鹈鹕
人工智能·llm·aigc
天天被压力20 分钟前
【跨市场数据实战 #08】可转债折价机会怎么筛:3个接口抓比价、列表和实时盘口
java·人工智能·python
Selvaggia25 分钟前
Diffusion Model 的基本原理与模型架构
算法
baopixiaoz36 分钟前
BeeQuant × BeeAgent:用AI加速策略验证
大数据·人工智能·python·区块链
咸鱼老弟1 小时前
AI Agent 的"自主性悖论"——为什么给它的自由度越大,越要配一套更硬的护栏
前端·人工智能
tq10861 小时前
对字节AI战略的评价
人工智能
专职八阿哥1 小时前
GPT-6 Astar 是什么?从模型名称、A*算法到实际接入讲清楚
人工智能
龙腾AI白云1 小时前
大语言模型:从语言理解到通用智能的跃迁
数据库·人工智能·机器学习·知识图谱
EatFans2 小时前
AI Agent 为什么总是失忆?一篇讲透 Agent Memory
人工智能