小编RTr*_*n3k的帖子

如何从R中的向量中抽取N个随机样本?

我有一个包含 663 个元素的向量。我想从等于向量长度(即 663)的向量中创建随机样本。换句话说,我想从 663 个元素的所有可能排序中随机抽取样本。我的目标是创建 N 个随机样本或随机选择的排列的数据框。

我尝试了以下方法:

library(combinat)
perms <- as.data.frame(permn(1:663))
Run Code Online (Sandbox Code Playgroud)

由于有这么多可能的排列,我会收到一条错误消息。

我的下一个想法是创建一个数据框,其行数与我想要的样本/排列一样多,变量与元素一样多(即 663),并使用像sapply()with sample(). 但是,我认为这种方法效率不高。

我也试过:

samples <- replicate(100, table(sample(1:663, 663,replace = F))) 
Run Code Online (Sandbox Code Playgroud)

但我只得到一个包含 100 列的数据框。

random r permutation sampling

5
推荐指数
1
解决办法
7159
查看次数

从Excel过渡到R:如何在R中实现if语句和索引逻辑?

正如标题所描述的那样,我正在从Excel过渡到R,但我发现实现非常棘手的数据操作在Excel中更直观,而不是R.

我有两个数据框:

A <- read.table(text="Var1  Var2    Var3    Var4
                      1 0   2   0
                      3 4   0   0
                      0 6   0   7", header=T)
B <- read.table(text="VarA  VarB
                      2.24  1.82
                      3.07  2.97
                      6.5   7.46", header=T)
Run Code Online (Sandbox Code Playgroud)

我想从A和B创建第3个数据框,如下所示:

Result <- read.table(text="Result1  Result2 Result3 Result4
                           2.24     NA      1.82    NA
                           3.07     2.97    NA      NA
                           NA       6.5     NA      7.46", header=T)
Run Code Online (Sandbox Code Playgroud)

因此,如果数据帧的行r和列c中的元素A<> 0,则在数据帧的行r和列中按顺序放置来自数据帧的行的元素. cResultsrB

在Excel中我会使用如下公式: 在此输入图像描述

excel r

1
推荐指数
1
解决办法
95
查看次数

如何在R中"逐行"而不是列式地"融化"?

我有一个数据框A,我想按行方式而不是列方式看起来像B(这也排除了其中的观察NA).这可以通过"融化"功能来实现吗?

A <- read.table(text="  Id1 Id2 Var1    Var2    Var3    
            1   1   1   2   NA  
            1   2   NA  3   4   
            1   3   5   6   7   ", header=T)


B <- read.table(text="  Id1 Id2 NewVar  
    1   1   1   
    1   1   2   
    1   2   3   
    1   2   4   
    1   3   5   
    1   3   6   
    1   3   7   ", header=T)
Run Code Online (Sandbox Code Playgroud)

我找到了一个类似问题的答案,但功能似乎有点矫枉过正,超出了我目前的R技能.

r dataframe melt

1
推荐指数
1
解决办法
1080
查看次数

标签 统计

r ×3

dataframe ×1

excel ×1

melt ×1

permutation ×1

random ×1

sampling ×1