我想计算cumsum一下每次运行信号的值signal == 1.
示例数据:
set.seed(123)
df <- data.frame(Date = seq.Date(as.Date('2016-09-01'),as.Date('2016-09-30'),by = 'days'),
value = sample(1:10,size=30,replace = TRUE),
signal = c(rep(0,3),rep(1,2),rep(0,1),rep(1,5),rep(0,6),rep(1,3),rep(0,5),rep(1,5)))
> head(df,12)
Date value signal
1 2016-09-01 10 0
2 2016-09-02 10 0
3 2016-09-03 7 0
4 2016-09-04 8 1
5 2016-09-05 1 1
6 2016-09-06 5 0
7 2016-09-07 8 1
8 2016-09-08 3 1
9 2016-09-09 4 1
10 2016-09-10 3 1
11 2016-09-11 2 1
12 2016-09-12 5 0
Run Code Online (Sandbox Code Playgroud)
到目前为止我做了什么:
我的解决方案正在运行,但我认为使用dplyr …
我有大量文件(~1200),每个文件都包含一个大的时间序列,其中包含有关地下水高度的数据。每个文件的系列的开始日期和长度都不同。日期之间可能存在较大的数据间隔,例如(此类文件的一小部分):
Date Height (cm)
14-1-1980 7659
28-1-1980 7632
14-2-1980 7661
14-3-1980 7638
28-3-1980 7642
14-4-1980 7652
25-4-1980 7646
14-5-1980 7635
29-5-1980 7622
13-6-1980 7606
27-6-1980 7598
14-7-1980 7654
28-7-1980 7654
14-8-1980 7627
28-8-1980 7600
12-9-1980 7617
14-10-1980 7596
28-10-1980 7601
14-11-1980 7592
28-11-1980 7614
11-12-1980 7650
29-12-1980 7670
14-1-1981 7698
28-1-1981 7700
13-2-1981 7694
17-3-1981 7740
30-3-1981 7683
14-4-1981 7692
14-5-1981 7682
15-6-1981 7696
17-7-1981 7706
28-7-1981 7699
28-8-1981 7686
30-9-1981 7678
17-11-1981 7723
11-12-1981 7803
18-2-1982 7757
16-3-1982 7773 …Run Code Online (Sandbox Code Playgroud) 我使用该tabsetpanel()函数为两个不同的图表创建选项卡。但是,我遇到了这样的问题:图表的标题非常靠近选项卡并且没有任何间距。它看起来像是被压在一起的,所以我想知道如何在选项卡面板和图表之间创建间距?我的左侧有一个闪亮的小部件,它控制右侧的图表。这是我的代码的示例:
tabPanel("Name",
sidebarLayout(
sidebarPanel(
selectInput(
<shiny widget coding is here>
)
),
mainPanel(
tabsetPanel(
tabPanel("graphname", plotlyOutput("graph1")),
tabPanel("graphname2", plotlyOutput("graph2"))
)
)
)
)
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,有 tabsetPanel,然后是带有图表的 tabpanels。但图表和 tabsetpanel 栏之间没有间距,如下所示:

我怎样才能解决这个问题?
我有一个带有分类变量的数据集Weather.该变量有3个不同的文本值,即"Dry","Drizzle"和"Rain".
我想创建另一个变量,我可以为这些变量分配数值.例如Dry会1,Drizzle将2和Rain会3.
作为辅助信息,该weather变量将用于预测水系统中的阻塞,因此我将在某种线性回归模型中使用它.
使用此data.frame:
df <- read.table(text = c("
ID cat1 cat2 cat3
site1 High High High
site1 High High Medium
site1 High High Low
site1 High Medium High
site1 High Medium Medium
site1 High Medium Low
site1 High Low High
site1 High Low Medium
site1 High Low Low
site1 Medium High High
site1 Medium High Medium
site1 Medium High Low
site1 Medium Medium High
site1 Medium Medium Medium
site1 Medium Medium Low
site1 Medium Low High
site1 Medium Low Medium
site1 Medium …Run Code Online (Sandbox Code Playgroud) 我面临以下问题.我有一份并购交易清单,每笔交易都包括(1)收单方,(2)供应商,(3)目标的数据.数据的结构关系可以是n:n:n,看起来类似于以下内容:
dealid acquirer target vendor
1 FirmA FirmB FirmC
1 FirmD FirmE
2 .....................
Run Code Online (Sandbox Code Playgroud)
所以问题在于交易中的行本身没有意义,因此,例如,FirmD也是FirmB的共同收购者.
我现在需要在每个dealid中创建所有可能的acquirer -target-vendor组合.我已经设法使用该expand.grid功能或简单地通过扩展网格merge.但是,我不知道如何扩展组内所有可能组合的网格.
在我的数据中,有一个列如下:
df <- data.frame(status = c("GET/sfuksd1567","GET/sjsh787","POST/hsfhuks","GET/sfukfiezd17","POST/fshks"), stringsAsFactors = FALSE)
Run Code Online (Sandbox Code Playgroud)
我想自动创建另一个列,它是变量状态的指示器,它只提取"GET"或"POST",如df$ind=c("GET","GET","POST","GET","POST").
我试过这个功能substr,但我没有成功.
原始数据:
> df
status
1 GET/sfuksd1567
2 GET/sjsh787
3 POST/hsfhuks
4 GET/sfukfiezd17
5 POST/fshks
Run Code Online (Sandbox Code Playgroud)
预期结果:
> df
status ind
1 GET/sfuksd1567 GET
2 GET/sjsh787 GET
3 POST/hsfhuks POST
4 GET/sfukfiezd17 GET
5 POST/fshks POST
Run Code Online (Sandbox Code Playgroud) 我试图寻找答案,但似乎找不到适合我的工作.
我有一个data包含两个变量的数据集():人的年龄(age)和奖励数(awards)
我的目标是在R.FYI中绘制年龄奖励的数量,一个人可以有多个奖项,人们可以拥有相同的年龄.
我试图绘制直方图和条形图,但问题在于它计算观察数而不是总计奖励数.
样本数据集:
age <- c(21,22,22,25,30,34,45,26,37,46,49,21)
awards <- c(0,3,2,1,0,0,1,3,1,1,1,1)
data <- data.frame(cbind(age,awards))
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是一个代表这些数据的直方图(或条形图).
理想情况下,我希望将年龄分成年龄组.例如,20-30,31-40,41-50,然后是每个组的奖励总数.
年龄组将在x轴上,每个年龄组的奖励总数将在y轴上.
谢谢!
给定两个布尔分类因子,我如何将它们的组合作为第三类?
> my_data <- data.frame(a = c(0, 0, 1, 1, 1),
b = c(0, 1, 0, 1, 1))
> my_data
a b
1 0 0
2 0 1
3 1 0
4 1 1
5 1 1
Run Code Online (Sandbox Code Playgroud)
我想添加一个新类别,结合使用a和b,以便:
> my_data
a b c
1 0 0 1
2 0 1 2
3 1 0 3
4 1 1 4
5 1 1 4
Run Code Online (Sandbox Code Playgroud)
我不想懒惰,为自己考虑一下:
my_data$c <- as.numeric(as.factor(my_data$a + 1 + (my_data$b + 1) * 2))
Run Code Online (Sandbox Code Playgroud)
这很接近,但我发现它并不特别优雅.因此,可以理解基础R中的任何更好的解决方案.肯定还有喜欢reshape2提供类似功能的软件包.
r ×9
bar-chart ×1
data.table ×1
dataframe ×1
date ×1
dplyr ×1
extract ×1
graph ×1
histogram ×1
if-statement ×1
shiny ×1
time-series ×1