r - 将r中的数据矩形化的简单方法
问题描述
我有一个带有 dyads 的面板数据集,看起来像这样
nsamp1 <- data.frame("id_1" = c("A", "A", "B", "C"),
"id_2" = c("a","b", "a","b"),
"Year" = c(1990, 1991, 1990, 1991),
"Val" = runif(4, min=0, max=100), stringsAsFactors = FALSE)
# id_1 id_2 Year Val
# 1 A a 1990 59.16656
# 2 A b 1991 71.03290
# 3 B a 1990 89.68864
# 4 C b 1991 36.56359
我想找到一种有效的方法来矩形化数据,以便创建所有可能的组合id_1
,id_2
并year
创建一个nxnxt
数据集
最终数据应如下所示:
# id_1 id_2 Year Val
# 1 A a 1990 59.16656
# 2 A b 1990 NA
# 3 A a 1991 NA
# 4 A b 1991 71.03290
# 5 B a 1990 89.68864
# 6 B b 1990 NA
# 7 B a 1991 NA
# 8 B b 1991 NA
# 9 C a 1990 NA
# 10 C b 1990 NA
# 11 C a 1991 NA
# 12 C b 1991 36.56359
我知道如何在多个步骤中做到这一点。但我正在寻找一个单行解决方案来清理我的代码,比如fillin
STATA 中的函数。
我知道有一个包library(SciencesPo)
具有矩形化功能,但由于许多错误,该包已被弃用并且不再可用。此外,由于某种原因,使用存档版本不起作用。
有谁知道这个问题的简单解决方案?
预先感谢您的帮助
解决方案
推荐阅读
- python - 为什么数据帧上的 .dropna().apply() 确实有效?
- reporting-services - 无法使用报表生成器编辑旧的 SSRS 报表
- python - 如何使我的异步协程函数不阻塞?
- r - 为什么 SparkR(在数据块上)在使用 spark 数据帧时不显示摘要函数输出?
- c# - 将基类向下转换为派生的泛型 C#
- spring-boot - 如何修改 WebMVC.fn RouterFunction 响应的标头?
- css - 移动设备上的 Flipcard - 第一次点击不起作用
- android - 如何在 Android 11 中获取 dir 文件列表
- python - conda install python=3.8 需要几个小时
- r - 如何从目录中读取多个文件并转换为矩阵