【问题标题】:How to take subsets of two different Data Frames for comparison - by a random sample?如何通过随机样本获取两个不同数据帧的子集进行比较?
【发布时间】:2017-09-20 08:24:31
【问题描述】:

我想比较两个不同的数据框。两个数据框都包含相同数量的行和列。第一个数据帧 (1) 是从 0 到 1 的购买概率,而第二个数据帧 (2) 是二进制编码的,表示用户的实际购买。

我现在的斗争是,我如何从 df (1) 中获取一个随机子集,它在 df (2) 中也相同来比较这个子集?

例如: 如何获取 df (1) 的 100 个用户(行)和两个与 df (2) 相同的产品(列)的子集。

这可能吗?
还是我必须先重新处理我的数据框?
通常可以通过 user_ID 加入两个数据框 - 如果这很重要的话。

# FIRST DF CONSISTS OF PROBABILITIES
df_probabilities <- data.frame(matrix(runif(20000,0,1), nrow=1000,ncol = 20))
# SECOND DF CONSISTS OF BINARY DATA
library("Matrix")
df_binary <- data.frame(as.matrix(rsparsematrix(1000, 20,nnz = 800,  rand.x = runif)))
df_binary[df_binary > 0] = 1

【问题讨论】:

    标签: r dataframe random


    【解决方案1】:

    基于随机索引的抽样应该会有所帮助

    set.seed(100)
    user_index = sample(1:100)
    
    subs1 = df1[user_index,]
    subs2 = df2[user_index,]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-31
      • 2015-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-05-21
      • 2013-06-23
      相关资源
      最近更新 更多