我正在尝试将命名 Num 值合并到包含相同名称(和长度)向量的现有 data.frame 中。但是,data.frame 中的顺序与 Named num 中的顺序不同,因此它与该值不正确匹配。我一直在努力:
attr_B12$deg.bin<-deg_binary[match(names(deg_binary), attr_B12$Name)]
其中
attr_B12$deg.bin
是我想在现有data.frame(attr_B12)中创建的新列,
deg_binary
是命名 Num [1:95] 对象,
和
attr_B12$Name
是名称向量,应与与命名编号关联的名称相匹配...
但是当我查看 data.frame 时,发现与
attr_B12$Name
) 关联的值不正确。
我不知道我是否理解正确,但我首先尝试使用
sort()
将两个数据集按相同的顺序排列(如果存在具有相同值的变量,最好是唯一的值)。
我使用
merge()
来实现这一点。
attr_B12_copy <- merge(x = as.data.frame(deg_binary),
y = attr_B12,
by = "row.names")
as.data.frame(deg_binary)
使用数字名称作为行名称,将命名数字强制转换为数据帧。
由于
deg_binary
和 attr_B12
的名称相同且长度相同,因此我们可以仅按行名称合并,并且不会丢失文件。