【问题标题】:How to save the difference between the two rows while saving it in the same data.frame in R?如何保存两行之间的差异,同时将其保存在 R 中的同一 data.frame 中?
【发布时间】:2020-10-15 03:24:00
【问题描述】:

我想计算Variable X 的每一行的差异,并将其作为单独的Variable Diff 保存在同一个data.frame 中。我知道它会给我尺寸错误-我希望将Diff 的第一行留在blank 下,并将其余值放在blank 行下Diff

library(tidyverse)

set.seed(1500)
DF <- data.frame(A = runif(10,5,20), X = runif(10,100,200))
DF$Diff <- diff(DF$X)

【问题讨论】:

    标签: r dataframe diff tidyverse


    【解决方案1】:

    diff 返回的长度比原始向量或列小 1。因此,我们需要在开头或结尾附加一个值。最好使用NA 而不是"",因为"" 是一个字符串,它会将整个向量或列转换为字符类,因为character 的优先级高于numeric 和@987654327 @s 可以容纳一个类

    DF$Diff <- c(NA, diff(DF$X))
    DF
    #           A        X       Diff
    #1  14.359319 120.6950         NA
    #2  19.583288 189.0378  68.342790
    #3  14.900511 151.1096 -37.928137
    #4  10.134497 142.9174  -8.192231
    #5   9.658943 121.5167 -21.400654
    #6   8.878611 105.0224 -16.494314
    #7  10.945591 170.9850  65.962624
    #8  19.444123 167.2761  -3.708932
    #9  19.240343 172.9342   5.658118
    #10 17.199167 151.3785 -21.555779
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-14
      • 2020-10-14
      相关资源
      最近更新 更多