使用R比较两个数据框并存储数据

我有一个数据框(model_trin_data_df),包含2986个观测值和645个变量,另一个数据框(input_data_df)包含1个观测值和6个变量。其中model_trin_data_df包含了input_data_df的所有6个变量。现在我想通过比较这两个数据框创建另一个数据框,其中包含所有变量(即2992个观测值),但只有一条观测记录。

> input_data_df  blue red white black green gold   1     1    1      3    1    1> train_data_df  bat blue red ball come white black cow green tiger gold go   1   2    0    1   0     0    1    0    0     0    0    1  0   0    0    0   0     1    0    2    0     0    1    0输出数据框应该如下所示 -         > output_data_df     bat blue red ball come white black cow green tiger gold go      0   1    1    0   0     1    3    0    1     0    1    0

我对train_data_df的观测值并不关心。我需要的是output_data_df正确包含input_data_df的所有观测值,其余变量设为0。

我该如何实现这一点?

提前感谢。


回答:

你可以执行以下操作:

# datainput_data <- data.frame(blue=1, red=1, white=1, black=3, green=1, gold=1)train_data <- data.frame(bat=c(1,0),                         blue=c(2,0),                         red=c(0,0),                         ball=c(1,0),                         black=c(1,0))# 这将给出答案output_df <- sapply(colnames(train_data), function(x){    if(x %in% colnames(input_data)) return (input_data[,x])    else return (0)}, USE.NAMES = F)# 设置名称names(output_df) <- names(train_data)print(output_df)bat  blue   red  ball black  0     1     1     0     3 

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注