在 R 循环中使用开始值和结束值的示例

2023-12-27

我试图在一系列值之间进行采样,作为 R 中较大循环的一部分。随着循环进行到每一行j,我想对给定值之间的一个数字进行采样start列和中给出的值end列,将该值放入sampled该行的列。

结果应该是这样的:

ID  start  end  sampled
a   25     67   44
b   36     97   67
c   23     85   77
d   15     67   52
e   21     52   41
f   43     72   66
g   39     55   49
h   27     62   35
i   11     99   17
j   21     89   66
k   28     65   48
l   44     58   48
m   16     77   22
n   25     88   65

我开始使用mapply,它对整个 df 进行采样,但随后我尝试将所有 15 个采样值放入一行中。

df[j,4] <- mapply(function(x, y) sample(seq(x, y), 1), df$start, df$end)

我想也许可以使用一些东西seq可能有效,但这会导致错误:from长度必须为 1。

df[j,4] <- sample(seq(df$start, df$end),1,replace=TRUE)

外层循环结构非常复杂,所以我没有在这里包含它,但是df[j,4]部分代码是必要的,因为它是更大循环的一部分。在某些情况下,必须根据实际数据集中的其他依赖关系对行进行重新采样。例如,采样值a可能需要大于b。其余代码更新采样列,检查依赖关系,如果不满足依赖关系,将重新运行示例。如果我能让这个采样部分工作,我应该能够轻松地将其插入(我希望)。

这是一个示例数据集。

structure(list(ID = c("a", "b", "c", "d", "e", "f", "g", "h", 
"i", "j", "k", "l", "m", "n"), start = c(25, 36, 23, 15, 21, 
43, 39, 27, 11, 21, 28, 44, 16, 25), end = c(67, 97, 85, 67, 
52, 72, 55, 62, 99, 89, 65, 58, 77, 88), sampled = c(NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA)), class = c("spec_tbl_df", 
"tbl_df", "tbl", "data.frame"), row.names = c(NA, -14L), spec = structure(list(
    cols = list(ID = structure(list(), class = c("collector_character", 
    "collector")), start = structure(list(), class = c("collector_double", 
    "collector")), end = structure(list(), class = c("collector_double", 
    "collector")), sampled = structure(list(), class = c("collector_logical", 
    "collector"))), default = structure(list(), class = c("collector_guess", 
    "collector")), skip = 1), class = "col_spec"))```

首先,将数据采用更易于使用的格式dput(df):

df <- structure(list(ID = structure(1:14, .Label = c("a", "b", "c", 
    "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n"), class = "factor"), 
    start = c(25L, 36L, 23L, 15L, 21L, 43L, 39L, 27L, 11L, 21L, 
    28L, 44L, 16L, 25L), end = c(67L, 97L, 85L, 67L, 52L, 72L, 
    55L, 62L, 99L, 89L, 65L, 58L, 77L, 88L), sampled = c(44L, 
    67L, 77L, 52L, 41L, 66L, 49L, 35L, 17L, 66L, 48L, 48L, 22L, 
    65L)), class = "data.frame", row.names = c(NA, -14L))

你曾经非常亲近mapply()但你让它变得比需要的更难:

df$sampled <- mapply(function(x, y) sample(seq(x, y), 1), df$start, df$end)
df
#    ID start end sampled
# 1   a    25  67      67
# 2   b    36  97      86
# 3   c    23  85      54
# 4   d    15  67      36
# 5   e    21  52      37
# 6   f    43  72      60
# 7   g    39  55      44
# 8   h    27  62      37
# 9   i    11  99      86
# 10  j    21  89      52
# 11  k    28  65      65
# 12  l    44  58      51
# 13  m    16  77      62
# 14  n    25  88      31
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 R 循环中使用开始值和结束值的示例 的相关文章

  • R 中的匹配和计数字符串(DNA 的 k 聚体)

    我有一个字符串列表 DNA 序列 包括 A T C G 我想找到所有匹配项并插入到表中 该表的列都是这些 DNA 字母表的所有可能组合 4 k k 是每个匹配项的长度 K mer 必须由用户指定 行代表 DNA 字母表的数量在列表中按顺序匹
  • 通过变量分割 data.frame [重复]

    这个问题在这里已经有答案了 我将多个主题的数据存储在一个 CSV 文件中 导入 CSV 文件后 我想将每个参与者的数据拆分到自己的 data frame 中 更确切地说 我想采用下面的示例数据 并创建三个新的 data frames 每个
  • R+Hadoop:如何从HDFS读取CSV文件并执行mapreduce?

    在以下示例中 small ints to dfs 1 1000 mapreduce input small ints map function k v cbind v v 2 MapReduce函数的数据输入是一个名为small ints的
  • 在开发模式下安装包(R源未编译成Rdb)

    我需要修改R代码在一个R具有 Fortran 绑定的包 当我安装软件包时 我看到存储库目录没有源代码 但是 Rdb而是二进制文件 我看了看devtools包 但我仍然不清楚如何在不编译 R 源部分的情况下安装该包 类似于 python py
  • 如何在 dplyr 中使用切片来保留 R 中具有 NA 值的行

    我有以下数据集 我想知道每个组的最小单词 如果没有最小单词 它是 NA 我仍然想显示它 df data frame key c A A B B C word c 1 2 3 5 NA df gt group by key gt slice
  • 如何找到每个分类变量的连续变量的平均值

    我想在 y 轴上绘制连续的 BMI 在 x 轴上绘制家庭收入的分类变量 并且我希望该图绘制每个类别的平均 BMI 然而 我不知道如何找到家庭收入每个因素的平均体重指数 Dataset nh 5994 total IDs with Obser
  • 与 data.table 合并时防止重复列

    我有两个数据表 它们的列名部分相似 dfA lt read table text A B C D E F G iso year matchcode 1 0 1 1 1 0 1 0 NLD 2010 NLD2010 2 1 0 0 0 1 0
  • for 和 while 循环中没有循环条件

    while cond fine for cond fine 但是当我删除条件部分时 while syntax compilation error for Infinite loop 这些循环内部是如何实现的 或者 编译器 解析器 如何知道中
  • 如何在 conda 中静音或抑制 gfortran (或 clang?)后端?

    我一直致力于构建一个非常特殊的 conda 环境 专为python and R与串扰使用rpy2 我想出的方法可以安装正确的R包如下 install main environment sh now date T echo Start Tim
  • Angular 2循环遍历列表有一些延迟

    如何使用 Angular 2 和 TypeScript 以一定延迟循环遍历数组 我有一个数组 students Array
  • R 中有没有快速替换列值的方法?

    假设我们有一个包含数值的数据框 如下所示 Temperature Height 32 157 31 159 33 139 我想更换Height价值观与pic 00001 pic 00002等等 最终结果是 Temperature Heigh
  • 使用 gbuffer 在 R 中缓冲(地理)空间点

    我正在尝试缓冲数据集中半径为 100 公里的点 我正在使用该功能gBuffer从包装中rgeos 这是我到目前为止所拥有的 head sampledf postalcode lat lon city province 1 A0A0A0 47
  • 在 r 中的 unique() 函数中使用管道不起作用

    我在使用管道运算符 gt 和 unique 函数时遇到一些麻烦 df data frame a c 1 2 3 1 b a unique df a no problem here df gt unique a not working her
  • 网页抓取(R 语言?)

    我想获取中间栏中的公司名称this http www consumercomplaints in bysubcategory mobile service providers page 1 html页面 以蓝色粗体书写 以及登记投诉者的位置
  • left_join 表示列不存在,即使它存在

    我想用两个不同的变量 tp join 连接两个数据框 出现错误 表示无法在第二个数据帧中找到变量 但是当我运行函数 colnames 时 会显示列名称 为什么会这样呢 df new lt left join master settlemen
  • 如何从类外部更改公共 R6 类方法?

    我希望能够在我的 R6 类中重新定义公共方法 以便它根据该类保存的数据类型进行更改 如下所示 library R6 Simple lt R6Class Simple public list dt mtcars my print functi
  • R 的 dplyr 切片中的奇怪行为

    打电话时slice df i 在 R 的 dplyr 包中 如果我要求的行索引不存在 nrows lt i 它似乎返回除组中的第一行之外的所有行 就像我调用的那样slice df 1 例如 library dplyr c1 lt c a b
  • R Shiny - 修复了 Shiny 仪表板中的侧边栏和主标题

    我有一个简化的闪亮仪表板 请参阅下面的代码 我想修复侧边栏和主标题 因此 在其他帖子的帮助下 我编写了一个 CSS 文件来解决该问题 sidebar color FFF position fixed width 220px white sp
  • 将函数应用于每个列组合

    我有一个数据框n列并希望对每个列应用一个函数组合列 这与如何cor 函数将数据帧作为输入并生成相关矩阵作为输出 例如 X lt data frame A rnorm 100 B rnorm 100 C rnorm 100 cor X 这将生
  • 使 matplotlib 图形默认看起来像 R?

    Is there a way to make matplotlib behave identically to R or almost like R in terms of plotting defaults For example R t

随机推荐

  • 从本地通知启动关闭的 iOS 应用程序

    当我的 iOS 应用程序在后台运行时 它响应良好 void application UIApplication application didReceiveLocalNotification UILocalNotification noti
  • Python 中的元组和 CSV 读取器

    尝试一些相对简单的事情 首先 我有一个以元组为键的字典 如下所示 0 1 1 0 索引 1 我正在读取一个 CSV 文件 该文件具有一组相应的字段 其中包含这些零和一的各种组合 例如 CSV 中的行可能会读取 0 1 1 0 而无需任何引号
  • 按值对 dict 进行排序,然后如果按键相等

    我创建了一个字典 键 列表中的单词值 它们的数量 想要按计数 值 对它们进行排序 那么如果计数相等 则按 alpha 键 对它们进行排序 a to be or not to be ae ae w for i in a w i a count
  • Java 中的嵌套枚举

    我想嵌套一些枚举 我代表的对象是标志 具有类型和值 有离散数量的类型 每种类型都有一组不同的可能值 因此 如果类型 A 可以有值 1 2 或 3 而类型 B 可以有值 4 5 6 我希望能够执行以下操作 Flag f Flag A 1 f
  • 我应该如何将 try-with-resources 与 JDBC 结合使用?

    我有一种使用 JDBC 从数据库获取用户的方法 public List
  • 如何在idea中调试play2?

    我在互联网上找到了一些文章和谷歌小组上的一些讨论 但它们不再起作用了 最新的play2 RC3如何做到这一点 您可以从控制台以调试模式启动播放服务器 docs http www playframework org documentation
  • 如何在 MATLAB 图形中设置子图大小?

    我经常需要将 10 个图像绘制在一起 但使用此代码会产生小图像 img rand 400 600 for i 1 10 subplot 2 5 i imshow img title Image int2str i end 正如您所看到的 图
  • 将 Selenium 与 Brave Browser 一起使用,传递用 python 编写的服务对象

    TLDR 我想使用勇敢的浏览器和用 python 编写的 selenium 但找不到任何当前有效的解决方案 这段代码有效 from selenium import webdriver option webdriver ChromeOptio
  • 如何在Thymeleaf和Spring Boot中显示消息?

    我创建了一个使用 Thymeleaf 作为模板引擎的 Spring Boot Web 应用程序 我配置了MessageSource在子文件夹中查找邮件 Bean public MessageSource messageSource fina
  • 在 Angular 2 模型驱动表单中设置选择控件的选定选项

    我在 SO 和其他地方研究了许多类似的现有答案 但就是找不到解决方案 我使用 Angular 2 中的模型驱动方法来构建我的表单 该表单既是添加表单又是编辑表单 在编辑模式下 这些值将填充从服务检索的数据 这方面一切都很好 因为简单的文本输
  • 如何显示存储在 SQLite 数据库中的 BLOB 图像?

    我有一个包含条目和 4 个按钮的 CRUD 表单删除 更新 创建 获取我的数据库中的值 我想实现另一个按钮来打开绑定到我的图像id entry也能够与我的合作删除 更新 创建 获取按钮 我一直在尝试使用 BLOB 并且能够将图像作为 BLO
  • 我什么时候应该在 x86 中使用大小指令?

    何时在 x86 中使用大小指令似乎有点含糊 这个 x86 组装指南 http www cs virginia edu evans cs216 guides x86 html说如下 一般来说 给定内存中数据项的预期大小 地址可以从它所在的汇编
  • 从字符串数组中检索随机单词[重复]

    这个问题在这里已经有答案了 我有一个包含 5 个不同单词的字符串数组 如何随机选择一个并将其存储在字符串变量中 string arr1 new string one two three Use the Random class string
  • 如果答案不正确,我如何循环回到提示 javascript

    对于 JavaScript 来说相当陌生 如果用户输入错误的答案 我如何循环回到提示问题 并且我希望重复该问题 直到他们得到正确的答案
  • 我可以在 git 中签出树对象吗?

    我在损坏的存储库中丢失了提交对象 但仍然有一些文件和树对象 git fsck Checking object directories 100 256 256 done dangling blob 031be26142ed97da216fb7
  • Rails 3:使用设备进行身份验证,如何还允许使用 guid 而不是登录来访问报告页面

    我的 Rails 3 应用程序只需要每个帐户一个用户登录 例如 没有角色 我正在使用 Devise 并且对它非常满意 但是我的用户需要能够与不需要或不想要登录帐户的其他经理共享一些屏幕 主要是状态报告 我正在考虑为每个此类 外部 报告创建和
  • 需要帮助确定“默认操作类型冲突”的原因

    我一直在做一项学校作业 但很难弄清楚哪个问题导致了 默认操作类型冲突 下面的多个警告 任何帮助将不胜感激 收到的警告 parser y 62 9 23 warning type clash on default action
  • 在 Adob​​e Business Catalyst 中编辑模板

    如何在 Business Catalyst 中编辑模板 我可以从用户界面执行此操作还是需要 Dreamweaver 或其他产品 我用谷歌搜索了一下 但找不到答案 当我登录时 在 网站 选项卡上 下面有 网站编辑器 网页 博客 和 安全区域
  • 为什么我的 xcode 4.2 日志总是空的?

    在访问三次的方法中 我想向日志写入一些内容 NSLog response responseString 但日志里什么也没有 日志窗口是完全白色的 通常 当我启动应用程序时 日志中总会显示一些内容 但现在它完全是空的 我怎样才能解决这个问题
  • 在 R 循环中使用开始值和结束值的示例

    我试图在一系列值之间进行采样 作为 R 中较大循环的一部分 随着循环进行到每一行j 我想对给定值之间的一个数字进行采样start列和中给出的值end列 将该值放入sampled该行的列 结果应该是这样的 ID start end sampl