从 data.frame 创建新列

2024-05-09

我有一个长格式的数据集,其中测量(时间)嵌套在 Networkpartners(NP)中,而 Networkpartners(NP)又嵌套在人员(ID)中,下面是它的示例(真实数据集有数千行):

ID  NP  Time Outcome
1   11  1    4
1   11  2    3
1   11  3    NA
1   12  1    2
1   12  2    3
1   12  3    3
2   21  1    2
2   21  2    NA
2   21  3    NA
2   22  1    4
2   22  2    4
2   22  3    4

现在我想创建 3 个新变量:

a) 特定人员 (ID) 拥有时间 1 的网络合作伙伴数量(在此测量的结果中没有 NA)

b) 时间 2 时特定人员 (ID) 的网络合作伙伴(在此测量的结果中没有 NA)的数量

c) 时间 3 时特定人员 (ID) 的网络合作伙伴(在此测量的结果中没有 NA)的数量

所以我想创建一个像这样的数据集:

ID  NP  Time Outcome  NP.T1  NP.T2  NP.T3
1   11  1    4        2      2      1
1   11  2    3        2      2      1
1   11  3    NA       2      2      1
1   12  1    2        2      2      1
1   12  2    3        2      2      1
1   12  3    3        2      2      1
2   21  1    2        2      1      1
2   21  2    NA       2      1      1
2   21  3    NA       2      1      1
2   22  1    4        2      1      1
2   22  2    4        2      1      1
2   22  3    4        2      1      1

我将衷心感谢您的帮助。


您可以只创建一个变量而不是三个。我在用ddply来自 plyr 包 那。

mydata<-structure(list(ID = c(1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 
2L, 2L), NP = c(11L, 11L, 11L, 12L, 12L, 12L, 21L, 21L, 21L, 
22L, 22L, 22L), Time = c(1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 
1L, 2L, 3L), Outcome = c(4L, 3L, NA, 2L, 3L, 3L, 2L, NA, NA, 
4L, 4L, 4L)), .Names = c("ID", "NP", "Time", "Outcome"), class = "data.frame", row.names = c(NA, 
-12L))


    library(plyr)
    mydata1<-ddply(mydata,.(ID,Time),transform, NP.T=length(Outcome[which(Outcome !="NA")]))
>mydata1
   ID NP Time Outcome NP.T
1   1 11    1       4    2
2   1 12    1       2    2
3   1 11    2       3    2
4   1 12    2       3    2
5   1 11    3      NA    1
6   1 12    3       3    1
7   2 21    1       2    2
8   2 22    1       4    2
9   2 21    2      NA    1
10  2 22    2       4    1
11  2 21    3      NA    1
12  2 22    3       4    1

Updated: 也可以用interaction创建结合 ID 和时间的唯一变量(梳)

mydata1<-ddply(mydata,.(ID,Time),transform, NP.T=length(Outcome[which(Outcome !="NA")]),comb=interaction(ID,Time))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 data.frame 创建新列 的相关文章

随机推荐

  • 如何在 [Authorize(Roles="")] 中使用变量

    我有一个 MVC 5 C Intranet Web 应用程序 其中使用了 30 多个 Active Directory 角色 并且由于业务文化的原因 权限经常发生变化 为了让事情变得简单 我想我应该尝试这样的事情来确定谁可以访问控制器操作或
  • 如何使 XML 文件始终在文本编辑器而不是 XML 编辑器中打开?

    我去档案协会那里没有 xml格式 当我添加它时 所有编辑器都会自动添加 并且它们是静态的 如下所示 locked by XML content type 无法删除关联 我希望每当我创建 XML 文件时 它都会用文本编辑器自动打开 请帮忙 单
  • 如何在Android首选项中正确接收和存储本地目录/路径?

    我想存储一个本地路径 内部或外部存储 用户可以在其中存储一些数据作为 Android 应用程序中的首选项 我希望用户在首选项中选择一个首选文件夹 默认文件夹是context externalMediaDirs它返回一个File我将其绝对路径
  • 具有类类型的 Java 反射 getDeclaredMethod()

    我试图理解 Java 反射 但在使用非整数 setter 方法时遇到困难 例如 如何解析下面的 getDeclaredMethod 调用 import java lang reflect class Target String value
  • Keras LSTM 密集层多维输入

    我正在尝试创建一个 keras LSTM 来预测时间序列 我的 x train 形状像 3000 15 10 示例 时间步长 特征 y train 形状像 3000 15 1 我正在尝试构建一个多对多模型 每个序列 10 个输入特征产生 1
  • 使用位移可视化 NER 训练数据和实体

    我创建了一个用于训练 NER 数据的数据集 创建后 我想在应用于训练管道之前测试实体和数据是否匹配 使用置换 我们可以以更好的方式进行可视化 但在 spacy 3 中如何做到这一点呢 上述问题的代码如下 import spacy from
  • 将阿拉伯文本分配给 R 变量

    R 无法正确显示阿拉伯文本 当我使用阿拉伯语时 我得到了非常奇怪的东西 这是一个屏幕截图 问题是我想创建一个带有阿拉伯文本的词云 我需要首先解决这个问题 R 版本 R 2 15 2 GUI 1 53 Leopard 版本 64 位 6335
  • RadGridView检测CellClick事件按钮

    如何检测在事件 CellClick 中按下了哪个鼠标按钮 或者如何检测在事件 MouseClick 中按下了哪个单元格 您可以使用鼠标单击事件检测单击了哪个单元格 然后你必须将 sender 转换为 RadGridView 然后使用 Cur
  • Room 分页无法正确地将 Flow> 与其他流合并

    我正在尝试使用Paging 3库来获取Flow
  • 如何使用 IPP 将 RGB 颜色空间转换为 NV12 颜色空间

    英特尔 Media SDK 等视频编码器需要 NV12 视频输入格式 NV12格式 http www fourcc org yuv php NV12是 YUV 4 2 0 格式 在内存中排序 首先是 Y 平面 然后是交错 UV 平面中的打包
  • 复杂的 Activiti + JPA 查询

    我们正在尝试在一个新项目中使用Activiti 我创建了一个设置 它通过 JPA 使用 Hibernate 来持久保存流程中涉及的实体 并且 JPA 与 Activiti 互连 因此我们可以将这些实体用作 JPA 变量 看 Activiti
  • 使用 xamarin 表单的 android 13 上的存储权限问题

    我在 Visual Studio 2022 的帮助下为我的 Android 项目使用 xamarin forms 当我将代码运行到我的移动 Android 13 时 我没有获得 Android 13 的弹出权限 我只是将 androidta
  • 68HC11计算sin(x)的汇编代码

    68HC11 使用泰勒级数或查找表计算正弦值的汇编代码是什么 显示值只能是整数 查找表如何工作 在这种情况下 如何使用它来实现泰勒级数 http en wikipedia org wiki Taylor series 如果您正在寻找浮点解决
  • ggmap 错误:GeomRasterAnn 是使用不兼容版本的 ggproto 构建的

    我正在使用 ggmap 并收到以下错误 Error GeomRasterAnn was built with an incompatible version of ggproto Please reinstall the package t
  • Spring boot MongoRepository 中的“无法找到类型类的 PersistentEntity”异常

    在这里我在 mongodb 中配置了两个数据库 如本教程中所述 link https blog marcosbarbero com multiple mongodb connectors in spring boot 所以基本上我重写了Mo
  • 在C++中初始化静态指针

    我有一个带有静态成员的类 它是一个指针 如下所示 动画 h class Animation public Animation static QString m 动画 cpp include animation h QString Anima
  • 如何在 primefaces 媒体标签中重命名 PDF

    我在 primefaces 中使用流式内容并使用媒体标签来显示它 当在查看器中按下下载按钮时 它会下载名为dynamiccontent properties的文件 有什么办法可以重命名吗 我正在使用 html4 java 7 和 prime
  • FindWindow() 找不到我的窗口 [C++]

    这不是一个复杂的问题 我无法找到属于 iTunes 的句柄 但是虽然 iTunes 在后台运行 但它一直告诉我找不到该窗口 所以我继续检查我是否错过了输入窗口名称 但是间谍 向我指出我使用了正确的窗口名称和类名称 见下文 我确信这是一个小错
  • Visual Studio 2008 中的本地化

    我正在尝试在 VS2008 中本地化桌面应用程序 C 我已经掌握了多种语言的表单本地化 并且我还有一个用于通用字符串的项目资源文件 但我无法弄清楚如何创建该文件的多个语言版本 似乎没有任何地方记录它 结果似乎是 如果我想生成应用程序的德语版
  • 从 data.frame 创建新列

    我有一个长格式的数据集 其中测量 时间 嵌套在 Networkpartners NP 中 而 Networkpartners NP 又嵌套在人员 ID 中 下面是它的示例 真实数据集有数千行 ID NP Time Outcome 1 11