将具有行名称的值的数字列表对象添加到没有行名称的相同长度的数据框中

问题描述 投票:0回答:1

我已经在不丢失的数据帧上使用mclust软件包执行了操作。通过使用select函数,使用dplyr包创建了不丢失的数据帧。这样,row.names在传递给mclust函数的数据帧中显示为矢量。

接下来,我从该函数中提取了一些关键值(案例'分类'):

class<-functionobject$classification

因此,分类值的数字列表与row.names相关。

[当我尝试将此值列表附加到没有row.names的相同长度(相同情况)的新数据帧时,我失去了重要的顺序。我知道,当我比较新数据帧中其他变量的分类组时,它们不等于使用那些相同变量在mclust函数中获得的值。

之所以不能简单地附加到mclust函数中使用的非缺失数据帧(带有row.names的原因是,我需要该函数中未使用的数据集中的其他变量,并且需要将这些变量合并为ID变量,如:] >

NEW_DF=merge(mclust_DF, other_DF, by=c("X1", "X2"))

因此,我最终得到一个长度相同但不再具有row.name的数据帧,我想在其上附加上述mclust函数的分类值。尽管使用时没有引发错误:

FINAL_DF<- cbind.data.frame(NEW_DF, class)

数据不可用,我可以看到对相关变量的组(类)均值检查不等于mclust函数的值(它们应该是相同的核心输入数据)。

我意识到我在这里遗漏了一些明显的东西,但是尽管对档案进行了详尽的搜索,但我还没有找到答案。进行这种乏味的争吵的正确方法是什么?

我已经在不丢失的数据帧上使用mclust软件包执行了操作。通过使用select函数,使用dplyr包创建了不丢失的数据帧。这样,row.names ...

dataframe dplyr cbind mclust
1个回答
0
投票

FWIW:一个简单的虽然可能总体上仍然效率不高的解决方案,是将合并的mclust函数中的分类数据绑定到不丢失的数据帧上,然后再合并其他验证变量,因为合并发生时,'row.names'矢量由dplyr在选择的案例中丢失了功能,并且重新提出了案例。

当我意识到mclust函数是基于不丢失的数据帧(使用dplyr创建的,因此结果数据对象遵循输入数据的大小写顺序(按row.names排序)时,这个解决方案使我想到了)

© www.soinside.com 2019 - 2024. All rights reserved.