相关疑难解决方法(0)

如何使data.frame中的组等长?

我有这个data.frame:

df <- data.frame(id=c('A','A','B','B','B','C'), amount=c(45,66,99,34,71,22))

id | amount 
-----------
A  |   45   
A  |   66   
B  |   99
B  |   34 
B  |   71
C  |   22
Run Code Online (Sandbox Code Playgroud)

我需要扩展,以便bydata.frame中的每个组具有相同的长度(用零填充),如下所示:

id | amount 
-----------
A  |   45   
A  |   66  
A  |   0     <- added 
B  |   99
B  |   34 
B  |   71
C  |   22
C  |   0     <- added 
C  |   0     <- added 
Run Code Online (Sandbox Code Playgroud)

这样做最有效的方法是什么?

注意

基于我实际的 100万行data.frame 提供的一些解决方案的基准测试我得到了:

             plyr   | data.table  |  unstack
          -----------------------------------
Elapsed: …
Run Code Online (Sandbox Code Playgroud)

r dataframe

7
推荐指数
2
解决办法
873
查看次数

如何在 R 中的向量中有条件地添加 NA 值?

假设我的数据是df <- c("Author1","Reference1","Abstract1","Author2","Reference2","Abstract2","Author3","Reference3","Author4","Reference4","Abstract4").

这是一个系列,顺序为作者、参考文献和摘要。但在某些情况下,摘要数据会丢失。(在此示例中,缺少第三个摘要。)那么,当摘要丢失时,如何添加 NA 值来代替摘要呢?

换句话说,如果向量中的一个元素以单词“Reference”开头,但其下一个元素不以单词“Abstract”开头,我想在以“Reference”开头的元素后面添加一个 NA 值。结果向量应该是 result <- c("Author1","Reference1","Abstract1","Author2","Reference2","Abstract2","Author3","Reference3",NA,"Author4","Reference4","Abstract4") How can I do it?

我已经尝试过 R 中的追加函数,但是为了使用它,我需要有要添加 NA 的元素的索引号。因此,每个 NA 元素都需要手动输入。

r stringr

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

标签 统计

r ×2

dataframe ×1

stringr ×1