R中的for循环用法

本文概述

  • 循环矢量
  • R中For循环的概述视频
  • 遍历数据帧行
  • 遍历矩阵元素
如果你想参加我们的金融中级R课程, 请点击这里。
循环矢量当你知道要重复几次操作时, for循环是个不错的选择。 for循环的想法是, 你逐步执行一个序列, 一次执行一个序列, 并在此过程的每个步骤中执行一个动作。该序列通常是数字的向量(例如从1:10开始的序列), 但也可以是没有任何顺序的数字, 例如c(2, 5, 4, 4, 6), 甚至不是字符序列!
for (value in sequence) {code}

换句话说, “ 对于我序列中的每个值, 运行此代码。” 例如, “ 对于数据框的每一行, 打印列1” , 或” 对于句子中的每个单词, 检查该单词是否为srcmini” 。
让我们尝试一个例子!首先, 你将创建一个循环, 以1到10的顺序打印出值。然后, 你将修改该循环以将1到10的值相加, 然后在每次迭代时, 将序列中的下一个值添加到流动的总和。
使用说明已为你创建了一个向量seq。使用seq作为序列填充for循环。在每次迭代期间打印出值。已为你创建了可变总和。使用循环对seq中的数字求和。每次迭代时, 应将值加到sum上, 然后打印出sum。
如果这有意义, 请继续进行下一个练习!如果没有, 这是一个概述视频。
R中For循环的概述视频遍历数据帧行想象一下, 你对Apple的股价升至117以上的日子感兴趣。如果股价超过该值, 则要打印出当前日期和股价。如果你有一个带有日期和苹果价格列的股票数据框, 是否可以在数据框的行上循环以完成此操作?你当然可以!
在执行此操作之前, 请注意, 你可以使用nrow(stock)获得数据框中的行数。然后, 你可以创建一个序列以从1:nrow(stock)循环。
for (row in 1:nrow(stock)) {price < - stock[row, "apple"]date< - stock[row, "date"]if(price > 117) {print(paste("On", date, "the stock price was", price))}}[1] "On 2016-12-21 the stock price was 117.06"[1] "On 2016-12-27 the stock price was 117.26"

到目前为止, 我们结合了许多知识。 if语句, 子集向量, 条件和循环!恭喜你学到了很多东西!
使用说明库存在你的工作区中。
【R中的for循环用法】填写for循环中的空白以使以下内容成立:
  • 价格应该保持迭代的价格
  • 日期应保留迭代的日期
  • 这次, 你想知道苹果是否高于116。
  • 如果是这样, 请打印日期和价格。
  • 如果低于116, 请打印日期并打印那不是重要的一天!
遍历矩阵元素到目前为止, 你已经遍历了1维数据类型。如果要遍历矩阵中的元素(列和行), 则必须使用嵌套循环。你将使用此想法打印出三只股票之间的相关性。
考虑这一点的最简单方法是, 你将从第1行开始, 然后向右移动, 依次单击col1, col2, … , 直到row1的最后一列。然后, 你移至第2行并重复该过程。
my_matrix[, 1][, 2][1, ] "r1c1" "r1c2"[2, ] "r2c1" "r2c2"# Loop over my_matrixfor(row in 1:nrow(my_matrix)) {for(col in 1:ncol(my_matrix)) {print(my_matrix[row, col])}}[1] "r1c1"[1] "r1c2"[1] "r2c1"[1] "r2c2"

使用说明相关矩阵corr在你的工作空间中。
  • 打印corr以查看数据。
  • 填写嵌套的for循环!它应满足以下条件:
    • 外循环应在corr的行上方。
    • 内循环应在corr的cols上方。
    • print语句应打印当前列和行的名称, 并打印它们的相关性。
如果你想从本课程中学习更多信息, 请点击这里。

    推荐阅读