我想重复一行数据.帧,每帧N次.结果应该是新的data.frame(nrow(new.df) == nrow(old.df) * N)保留列的数据类型.

N=2的示例:

                        A B   C
  A B   C             1 j i 100
1 j i 100     -->     2 j i 100
2 K P 101             3 K P 101
                      4 K P 101

所以,每行重复2次,字符保留字符,因子保留因子,数字保留数字...

我第一次try 使用apply:apply(old.df, 2, function(co) rep(co, each = N)),但这一次将我的值转换为字符,我得到:

     A   B   C    
[1,] "j" "i" "100"
[2,] "j" "i" "100"
[3,] "K" "P" "101"
[4,] "K" "P" "101"

推荐答案

df <- data.frame(a = 1:2, b = letters[1:2]) 
df[rep(seq_len(nrow(df)), each = 2), ]

R相关问答推荐

如何按包含特殊符号 R 的名称对列进行排序

矩阵:根据变量名对列和行求和

R markdown beamer 演示返回未定义的控制序列

逐列返回最常见的值,将该列中的 null 替换为该值

根据 R 上的其他条目填充缺失值

使用矩阵图(matplot)作为 map ,位置作为位置

在彩色和灰度下工作的调色板?

如何根据优先级单词列表(使用for循环和条件)查找和替换df中的值?

将具有不同名称的嵌套列表转换为 data.frame 填充 NA 并添加列

expss表输出的rbinding表错误

如何使用 r data.table 填写数据框中所有可能的列?

用于判断多个数据帧的数据类型的函数 R

如何显示多个图层的图例(geom_point 和 geom_bar)?

在R中以长格式(相对于基组)按组计算跨行的增长率

如何根据值在矩阵上水平移动行

在R中递归添加一列

考虑到 position='dodge' 的条形,如何在柱状条形图上添加线条,其中线条通过条形的中间顶部?

R:手动将特定行和列除以数据框中的数字

在 group_by 中,改变一个新列,该列根据列的出现顺序获取列的值

通过(非统一)名称连接两个数据集