重复 data.frame 的行

标签 r dataframe rows repeat

我想重复 data.frame 的行,每个 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

因此,每行重复两次,字符仍然是字符,因子仍然是因子,数字仍然是数字,...

我的第一次尝试使用了 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), ]

关于重复 data.frame 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11121385/

相关文章:

apache-spark - 使用 map 创建新列

javascript - 日期选择器仅适用于第一行

删除 R 中的重复行(基于 2 列)

r - lattice auto.key - 如何调整线和点?

r - 基于行号的条件指示器

r - 使用 mutate() 将列添加到数据框中,作为任意一组其他列的函数

python - 将连续出现的一定数量的数字从上到下均等地替换为某个值

php - 如何在不选择所有行的情况下获取行数?

excel - 删除行时如何自动删除图片?

r - ddply错误: 'names' attribute [9] must be the same length as the vector [1]的含义