我有一个数据框列表。每个列表包含两列“名称”和“代码”
一个
Name Code
AAA 123
BBB 456
CCC 789
B
Name Code
AAA 123
AAB 124
AAC 125
C
Name Code
BBB 456
BBA 457
BBC 458
我想创建一个新的数据框“NEW”,其中包含所有唯一的名称和代码,以便我得到
名称代码 AAA 123 阿布124 AAAC 125 BBB 456 工商管理学士 457 英国广播公司458 CCC 789
在获得“NEW”后,我想将数据框列表与“NEW”进行比较,并判断每个名称是否出现在一个列表中。 我想将新列(包含列表中数据框的名称)添加到"new"数据框中,并输入"is"或“否”(如果存在)。
所以得到这个
Name Code A B C
AAA 123 YES YES NO
AAB 124 NO YES NO
AAC 125 NO YES NO
BBB 456 YES NO YES
BBA 457 No NO YES
BBC 458 NO NO YES
CCC 789 YES NO NO
我想使用lapply
,但我不知道如何做所有事情。
你能帮我吗
最佳答案
将行与 ID 绑定(bind),然后使用 data.table 从长到宽重新调整形状:
# example data
myList <- list(A = data.frame(x = 1:3),
B = data.frame(x = 2:4),
C = data.frame(x = 4:6))
library(data.table)
dcast(rbindlist(myList, idcol = "ID"), x ~ ID)
# x A B C
# 1: 1 1 NA NA
# 2: 2 2 2 NA
# 3: 3 3 3 NA
# 4: 4 NA 4 4
# 5: 5 NA NA 5
# 6: 6 NA NA 6
关于r - 使用 lapply 从数据框列表创建新数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55571062/