小编Kon*_*lph的帖子

我如何滞后一个 data.frame?

我想在 R 中滞后整个数据帧。

在Python中,这是很容易做到这一点,利用shift()功能(例如:df.shift(1)

但是,我找不到像shift()R中的 Pandas那样简单易行的方法。

我怎样才能做到这一点?

> x = data.frame(a=c(1,2,3),b=c(4,5,6))
> x
  a b
1 1 4
2 2 5
3 3 6
Run Code Online (Sandbox Code Playgroud)

我想要的是,

> lag(x,1)
> 
  a b
1 NA NA
2 1 4
3 2 5
Run Code Online (Sandbox Code Playgroud)

有什么好主意吗?

r shift lag dataframe

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

跨列而不是行的累积总和

我有一个data.table dt如下。

df <- data.frame(t1 = rep(0,5), t3 = c(12, 5, 8,9, 5), t7= c(25, 48, 7, 9, 14))
dt <- setDT(df)
dt
   t1 t3 t7
1:  0 12 25
2:  0  5 48
3:  0  8  7
4:  0  9  9
5:  0  5 14
Run Code Online (Sandbox Code Playgroud)

我想获得各列的累计总和。我只是把它跨行。如何做到这一点data.table

dt[, 1:3 := cumsum(dt)]
dt
   t1 t3  t7
1:  0 12  25
2:  0 17  73
3:  0 25  80
4:  0 34  89
5:  0 39 103
Run Code Online (Sandbox Code Playgroud)

所需的输出如下: …

r cumsum data.table

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

动态着色的滑块输入

我有一个与帖子如何着色滑块 (sliderInput)相关的问题.

是否可以根据所选值使滑块输入更改其颜色?

我想让用户输入 0 到 10 之间的值。但是,有一个推荐的范围,比如 4 到 8。因此,如果用户选择 4 到 8 之间的值,滑块颜色应该是绿色8,但如果选择了超出推荐范围的值,它应该变为橙色(或红色)。

任何帮助实现这一点将不胜感激。

r reactive-programming shiny shinydashboard

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

如何在宽格式data.frame上运行ANOVA?

我被教导使用公式运行ANOVA:aov(因变量〜自变量,数据集)

但我正在努力解决如何为特定数据集运行ANOVA,因为它分为三列,每列包含一个值.三列被指定为新生儿,青少年和成年人(这是仓鼠年龄),每列中的值代表血压值.我需要进行一项测试,以确定血压和年龄之间是否存在关系.

这是R中的数据:

> hamster
   Newborn adolescent adult
1      108        110   105
2      110        105   100
3       90        100    95
4       80         90    85
5      100        102    97
6      120        110   105
7      125        105   100
8      130        115   110
9      120        100    95
10     130        120   115
11     145        130   125
12     150        125   120
13     130        135   130
14     155        130   125
15     140        120   115
Run Code Online (Sandbox Code Playgroud)

混淆是因为因变量是每列中的那些值^

r reshape dataframe anova

4
推荐指数
2
解决办法
1626
查看次数

带有未定义参数的unique_ptr实例化不会导致错误

#include <memory>
class Data;
std::unique_ptr<Data> p;
//class Data{}; // not working without this
int main(){}
Run Code Online (Sandbox Code Playgroud)

使用g ++ - 5编译此代码会出现这样的错误:

将'sizeof'无效应用于不完整类型'数据'

有人可以解释为什么我取消注释第四行编译会成功吗?据我所知,在第3行编译器没有关于类型数据的完整信息.我们这行只有前瞻性声明.真实声明发生在第4行.

c++

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

在x轴上绘制低于月份的年份

我不是在寻找编码方面的帮助,只是帮助我应该采取什么方向,即使用哪些功能.我想知道是否有可能使用ggplot来绘制类似这样的东西:

在此输入图像描述

r ggplot2

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

如何在Rcpp中打印原始值

#include <Rcpp.h>
using namespace Rcpp;

// [[Rcpp::export]]
void print_raw(RawVector x) {

  for (int i = 0; i < x.size(); i++) {
    Rcout << x[i] << " ";
  }
  Rcout << std::endl;
}

/*** R
x <- as.raw(0:10)
print(x)
print_raw(x)
*/
Run Code Online (Sandbox Code Playgroud)

我希望Rcpp以与R相同的方式打印"raw"类型的值.可能吗?使用当前代码,我只得到一个空行.

r rcpp

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

按字母顺序在两列中创建组合信息的新列

我有一个足球队数据集,如下所示:

Home_team Away_team Home_score Away_score
Arsenal    Chelsea      1        3
Manchester U  Blackburn 2        9
Liverpool      Leeds    0        8
Chelsea     Arsenal     4        1
Run Code Online (Sandbox Code Playgroud)

我想对所涉及的球队进行分组,无论哪支球队在主场和客场比赛。例如,如果切尔西对阵阿森纳,无论比赛是在切尔西还是在阿森纳,我都希望新列“teams_involved”是阿森纳 - 切尔西。我的猜测是这样做的方法是按字母顺序将这些团队添加到新列中,但我不知道该怎么做。

期望的输出:

Home_team Away_team Home_score Away_score teams_involved
Arsenal    Chelsea      1        3     Arsenal - Chelsea
Manchester U  Blackburn 2        9   Blackburn - Manchester U
Liverpool      Leeds    0        8      Leeds - Liverpool 
Chelsea     Arsenal     4        1     Arsenal - Chelsea
Run Code Online (Sandbox Code Playgroud)

我之所以要这样做,是因为我可以看到每支球队对特定球队的胜利次数,无论比赛地点如何。

r dplyr

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

将列表列表的维度组合到单独的向量中

这是我的数据的一个例子.

ll <- list(
  ll1 = list(Mi = 1:4,
       Mj = 10:13,
       dn = "l1"),
  ll2 = list(Mi = 5:8,
             Mj = 14:17,
             dn = "l2"))
> str(ll)
List of 2
 $ ll1:List of 3
  ..$ Mi: int [1:4] 1 2 3 4
  ..$ Mj: int [1:4] 10 11 12 13
  ..$ dn: chr "l1"
 $ ll2:List of 3
  ..$ Mi: int [1:4] 5 6 7 8
  ..$ Mj: int [1:4] 14 15 16 17
  ..$ dn: chr "l2"
Run Code Online (Sandbox Code Playgroud)

我正在尝试将每个Mi,每个Mj和每个dn组合在一起.因此最终结果将是3个向量:1个组合Mi,1个组合Mj,以及1个组合dn.即,Mi的最终结果将是类似的 …

merge r list tidyverse

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

即使所有值都 &gt; 0,为什么 geom_histogram 从负 bin 下限开始?

我正在尝试 H.Wickham 在 R 书中的钻石数据集。在 x = 克拉的钻石的默认 geom_histogram 中,binwidth 为 0.5,但 bin 1 从 -0.25 开始,即使克拉的最低值为 0.2。为什么会这样?附上图片和代码作为上下文。谁能帮忙解释一下。谢谢。

##geom_histogram
geom_histogram(mapping=aes(x = carat),binwidth = 0.5)

summary(diamonds)
##dplyr to get count of cut[![enter image description here][1]][1]
diamonds %>%
count(cut_width(carat,0.5))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

r ggplot2

4
推荐指数
2
解决办法
293
查看次数