数据框的子集,其中一列的倒数第二个值

2023-11-30

我有一个包含很多列的 data.frame,其中一列包含样本区域的代码,另一列包含样本的编号。我想从每个样本区域的倒数第二个样本中提取信息子集。我尝试了很多不同的事情......最后这是我最好的猜测......但它仍然不起作用。

site <- sample (1:3, 10, replace= T)
d2 <- sample (1:5, 10, replace= T)
d3 <- sample (1:5, 10, replace= T)
samplet <- sample (1:4, 10, replace= T)
mydata <- data.frame (cbind(site, d2, d3, samplet))

penultimate <- matrix(NA,,) # here I dont know how the return will be, as I dont know    how the dataframe will change
si <- matrix (NA, , )  
pl <- unique (site)
for (i in 1:(length (pl))) {
    si <-  mydata[which (samplet==pl[i]),] # I tried to create a temporary matrix, so I can calculate each site at a time
    penultimate <- si[which (si$samplet!=(max(si$samplet[si$samplet!=max(si$samplet)]))),]
}

Cheers!


一个简单的方法是使用data.table及其内置的.N value

# assuming `d1` is the column from which you want to find the penultimate

mydata <- data.frame(d1=strsplit("AAABBCCCCCDD", "")[[1]], d2=rnorm(12), d3=LETTERS[1:12], d4=c(101:103, 201:202, 301:305, 401:402))

DT <- data.table(mydata)

DT[, .SD[.N-1], by=d1]

   d1         d2 d3  d4
1:  A  1.6906714  B 102
2:  B -0.1239458  D 201
3:  C -0.2976339  I 304
4:  D  0.6858120  K 401

与我的数据比较

> mydata
   d1         d2 d3  d4
1   A  0.5986002  A 101
2   A  1.6906714  B 102   <~~~~  \
3   A -0.3253657  C 103
4   B -0.1239458  D 201   <~~~~   -\
5   B  0.8261401  E 202
6   C  0.0601318  F 301             Penultimate Values by d1
7   C -0.9766622  G 302
8   C  0.1028259  H 303
9   C -0.2976339  I 304   <~~~~~  -/ 
10  C -1.1467000  J 305
11  D  0.6858120  K 401   <~~~~~  / 
12  D -0.6160335  L 402

编辑,用新的示例数据更新。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据框的子集,其中一列的倒数第二个值 的相关文章

随机推荐

  • 64 位 JVM 的最大可能堆大小是多少?

    理论上可以设置的最大堆值 Xmx在32位系统中当然是2 32字节 但通常 参见 了解最大 JVM 堆大小 32 位与 64 位 一个人不能使用全部4GB 对于64位机器上运行在64位操作系统中的64位JVM来说 除了理论限制之外还有什么限制
  • 何时复制 C# 值/对象以及何时复制其引用?

    在复制我想要引用的对象或引用我想要复制的对象的地方 我不断遇到相同的问题 当我使用 运算符时会发生这种情况 例如 如果我将对象发送到另一种形式 即 SomeForm myForm new SomeForm SomeObject myObje
  • 如何验证域凭据?

    我想针对域控制器验证一组凭据 例如 Username STACKOVERFLOW joel Password splotchy 方法 1 通过模拟查询 Active Directory 很多人建议在 Active Directory 中查询
  • 如何使用 wget 模块从 URL 列表下载 PDF?

    我有一个 Python 脚本 它可以从website与 Selenium 并将它们存储在列表中 现在 我想用以下命令下载它们wget module 这是代码的相关部分 其中脚本完成了从网站获取的部分 URL new links for li
  • 在 Objective c 中在 iPhone 上绘图 [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我对编程很陌生 我已经制作了一半的 简单 应用程序 但我想知道如何在屏幕上绘制图片 用户
  • 更改C中二维动态数组的大小

    我创建一个二维动态数组 a int calloc n 1 sizeof int for i 0 i lt n 1 i a i int calloc n sizeof int 然后我需要更改其大小 添加新行 a int realloc a n
  • 如何在 GAE 任务队列中执行需要 OAuth 的操作?

    我有一个简单的 Google App Engine 应用程序 其中包括 update更新 YouTube 播放列表的页面 它看起来像这样 class UpdatePage webapp2 RequestHandler decorator o
  • 如何四舍五入到指定数字的最接近倍数?

    我看过很多关于四舍五入到最接近的数字倍数的问题 但我无法很好地理解他们的方法 无法采用它们四舍五入到 45 或者他们使用其他语言的特定于语言的方法 如果上面的内容还没有多大意义 这里有一个更详细的解释 输入示例 int num1 67 in
  • Spark CSV - 找不到实际参数的适用构造函数/方法

    我在 java Spark 应用程序中的类型数据集的过滤器和映射上使用 lambda 函数时遇到问题 我收到此运行时错误 ERROR CodeGenerator failed to compile org codehaus commons
  • Google Guice 桌面应用程序 - 如何使其工作?

    我在我的网络应用程序中使用 Guice 没有出现任何问题 并且我想在桌面应用程序中使用它 我当然错过了一件事 某种方式告诉我的应用程序如何绑定所有内容并知道什么是什么 在网络应用程序中 我在应用程序类中对此进行了声明 我应该如何在桌面应用程
  • Firebase JWT 身份验证,持续发送令牌?

    您好 我是 Firebase 新手 但非常喜欢它 我读到了这个 https www firebase com docs security custom login html我能够成功创建 JWT 并针对我的 Firebase 帐户进行身份验
  • XAML 中 BackKeyPress 的挂钩命令

    有没有办法将 BackKeyPressed 事件连接到视图 XAML 中的命令 我正在使用 MVVM Light 我有一些可以显示的登录 注册屏幕 如果他们处于登录 注册过程中 这只是显示 隐藏用户控件 我希望能够拦截后退按钮 以便我可以显
  • 离子科尔多瓦相机不工作

    我正在使用以下内容Git 请参阅此处的代码 作为 Phonegap Build 的输入 并已在我的手机上正确安装该应用程序 iOS 该应用程序正确打开 但当我尝试拍照 单击按钮 时没有任何反应 它应该显示相机拍摄的图像 有人可以向我解释什么
  • 如何使用java从同一tomcat中的不同项目获取tomcat项目路径

    我正在使用此代码读取 tomcat 项目 称为 Project1 中的文件 现在我想使用 java util concurrent Tomcat 项目 称为 Project2 在不同的 tomcat 项目 称为 Project2 中获取此路
  • 图像预加载器如何工作?

    我很难理解图像预加载器的工作原理在java脚本中 因此 如果有人能用一个例子来解释他们如何工作 那将会有很大帮助 没有jquery 加载单个图像 浏览器将异步加载图像 这意味着当浏览器被赋予 src图像的 它将开始在后台加载该图像 但也会在
  • Java网络服务器和TIME_WAIT

    我在接收来自我公司生产的设备的信号的网络服务器方面遇到了问题 设备偶尔会重用刚刚使用过的源端口 这会导致 SYN 被服务器丢弃 然后设备会重试 直到旧套接字超出服务器上的 TIME WAIT 状态 然后服务器发送 SYN ACK 服务器是用
  • 如何在 howler.js 上链接声音

    我需要在 howler js 中播放一些声音 但我不知道如何链接它 例如 在字符串 BCG 需要先玩 b ogg 然后玩 c ogg 最后玩 g ogg 如果我只是使用 加载后 sound play b sound play c sound
  • 单击 Javascript 中的按钮显示 android DatePicker

    这是我的要求 我正在将一个 html 文件加载到 WebView 上 我在 html 文件中有一个按钮来选择日期 当我单击该按钮时 我想打开 Android 日期选择器对话框 选择日期后 我想在 html 文件中显示所选日期 谁能指导我 请
  • 如何使用半透明选择器选择屏幕上任意位置的颜色?

    小免责声明 这是我第一次在表单中搞乱图形 因此我对这里的概念不太熟悉 好吧 所以我一直在尝试制作一个应用程序来跟踪光标在整个屏幕中的位置并在其周围绘制一个椭圆 我借用的代码来自this问题 我更改了椭圆的 X 和 Y 位置 以便在光标周围自
  • 数据框的子集,其中一列的倒数第二个值

    我有一个包含很多列的 data frame 其中一列包含样本区域的代码 另一列包含样本的编号 我想从每个样本区域的倒数第二个样本中提取信息子集 我尝试了很多不同的事情 最后这是我最好的猜测 但它仍然不起作用 site lt sample 1