小编Eri*_*ail的帖子

计算年龄和月份的年龄并融化数据

我正在处理一些时间数据,而且我在将时差转换为数年和数月时遇到了问题.

我的数据或多或少看起来像这样,

dfn <- data.frame(
Today  = Sys.time(),
DOB  = seq(as.POSIXct('2007-03-27 00:00:01'), len= 26, by="3 day"),
Patient  = factor(1:26, labels = LETTERS))
Run Code Online (Sandbox Code Playgroud)

首先,我从DOB今天的数据(Today)中减去birth()形式的数据.

dfn$ageToday <-  dfn$Today - dfn$DOB
Run Code Online (Sandbox Code Playgroud)

这给了我Time difference in days.

dfn$ageToday
 Time differences in days
  [1] 1875.866 1872.866 1869.866 1866.866 1863.866
  [6] 1860.866 1857.866 1854.866 1851.866 1848.866
 [11] 1845.866 1842.866 1839.866 1836.866 1833.866
 [16] 1830.866 1827.866 1824.866 1821.866 1818.866
 [21] 1815.866 1812.866 1809.866 1806.866 1803.866
 [26] 1800.866
 attr(,"tzone")
 [1] ""
Run Code Online (Sandbox Code Playgroud)

这是我提问的第一部分; 如何将此差异转换为年和月(四舍五入到几个月)? …

time r

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

ggplot2,geom_segment的颜色段

我正在研究一些室内和室外活动的相当精细的情节,我有点卡住了.我想添加着色用了室内/室外用(纪要Xmin,Ymin以及Zmin中)geom_segment我的阴谋的步骤(见下文).它目前 Zmin被着色(使用连续变量,有点关闭).

我粘贴了所有代码以防其他人想要构建这样的东西,我最初的灵感来自这篇博文.

任何帮助将不胜感激,谢谢!

df <- data.frame(
  date = seq(Sys.Date(), len= 156, by="4 day")[sample(156, 26)],
  action = paste('Then', LETTERS[1:13], 'happed, which was not related to', LETTERS[14:26]),
  IndoorOutdoor = rep(c(-1,1), 13),
  Xmin = sample(90, 26, replace = T),
  Ymin = sample(90, 26, replace = T),
  Zmin = sample(90, 26, replace = T)
)

df$XYZmin <- rowSums(df[,c("Xmin", "Ymin", "Zmin")])*df$IndoorOutdoor

# install.packages("ggplot2", dependencies = TRUE)
require(ggplot2)

# step 1 
plot <- …
Run Code Online (Sandbox Code Playgroud)

time plot visualization r ggplot2

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

(日期)内的总和

我正在尝试计算XYZmin在同一天发生的值(in )的总和.

我的数据看起来像这样,

bar <- structure(list(date = structure(c(15622, 15622, 15622, 15628, 
15632, 15635, 15639, 15639, 15639, 15639, 15639, 15642, 15646, 
15646, 15650, 15650, 15650, 15657, 15660, 15660, 15674, 15681, 
15691, 15695, 15709, 15716, 15723, 15730, 15737, 15737, 15737, 
15737, 15737, 15737, 15740, 15743, 15743, 15743, 15744, 15744, 
15744, 15744, 15746, 15751, 15755, 15758), class = "Date"), XYZmin = c(-20, 
-15, -10, -70, -60, -60, -95, -10, -10, -40, -25, -25, -20, -10, 
-3, -5, -25, -5, -70, -5, …
Run Code Online (Sandbox Code Playgroud)

r sum base

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

strsplit拆分或依赖于

我再次与.我正在将一些字符串转换为数据帧,但是有一个正斜杠,/并且我的字符串中的一些空格会让我烦恼.我可以解决它,但我渴望了解我是否可以使用某些花哨或.我下面的工作示例应说明问题

我正在使用的函数

str_to_df <- function(string){
t(sapply(1:length(string), function(x) strsplit(string, "\\s+")[[x]])) }
Run Code Online (Sandbox Code Playgroud)

我得到的一种字符串,

string1 <- c('One\t58/2', 'Two 22/3', 'Three\t15/5')
str_to_df(string1)
#>      [,1]    [,2]  
#> [1,] "One"   "58/2"
#> [2,] "Two"   "22/3"
#> [3,] "Three" "15/5"
Run Code Online (Sandbox Code Playgroud)

另一种类型我在同一个地方,

string2 <- c('One 58 / 2', 'Two 22 / 3', 'Three 15 / 5')
str_to_df(string2)
#>      [,1]    [,2] [,3] [,4]
#> [1,] "One"   "58" "/"  "2" 
#> [2,] "Two"   "22" "/"  "3" 
#> [3,] "Three" "15" "/"  "5" …
Run Code Online (Sandbox Code Playgroud)

r strsplit dataframe

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

\ Sexpr {} .Rnw文件中的特殊LaTeX字符($,&,%,#等)

它与默认的内联钩子有关,我意识到并且我已经尝试了它(钩子)并且还阅读了这个线程和Yihui 关于钩子页面,但是我无法解决我的问题.我甚至尝试过Sacha Epskamp的这个建议,但在我的情况下它没有做到这一点.

我正在使用\Sexpr并做一些\Sexpr{load("meta.data.saved"); meta.data[1,7]}在我的报告中打印关键字的方法,问题是人们编写这些关键字(我无法控制的人)正在使用特殊的乳胶字符($,&,%,#等. )当它们被传递到我的.tex文件时,我没有\一个糟糕的时间.

我有一个包含此代码的.Rnw文件,

\documentclass{article}
\begin{document}
 Look \Sexpr{foo <- "me&you"; foo} at this.
\end{document}
Run Code Online (Sandbox Code Playgroud)

Thsi创建一个带有非法LaTeX字符的.tex文件.像这样,

<!-- Preamble omitted for this example. -->
\begin{document}
 Look me&you at this.
\end{document}
Run Code Online (Sandbox Code Playgroud)

我有兴趣得到一个看起来像这样的输出,

<!-- Preamble omitted for this example. -->
\begin{document}
 Look me\&you at this.
\end{document}
Run Code Online (Sandbox Code Playgroud)

很抱歉这个简单的问题,但有人可以帮助我,也许其他人,开始如何修改默认的内联挂钩\Sexpr

latex r knitr

3
推荐指数
1
解决办法
1456
查看次数

在`geom_bar`图中设置`geom_hline`的长度

我有一个geom_bar情节,我想设定的长度 geom_hline.

我有这个数据,

set.seed(666)
df <- data.frame(
  date = seq(Sys.Date(), len= 156, by="4 day")[sample(156, 26)],
  IndoorOutdoor = rep(c(-1,1), 13), #Change so there are only 26 rows
  Xmin = sample(90, 26, replace = T),
  Ymin = sample(90, 26, replace = T),
  Zmin = sample(90, 26, replace = T)
)

df$XYZmin <- rowSums(df[,c("Xmin", "Ymin", "Zmin")])*df$IndoorOutdoor
df[,7:9] <- df[,3:5]*df[,2] #Adding the sign to each X/Y/Z
names(df)[7:9] <- paste0(names(df)[3:5],"p") #to differentiate from your X/Y/Z
require(ggplot2)

df.m <- melt(df[,c(1:2,6:9)], measure.vars=c("Xminp", "Yminp", "Zminp")) …
Run Code Online (Sandbox Code Playgroud)

time stack r ggplot2

3
推荐指数
1
解决办法
1647
查看次数

计算值变化与R符号的次数

我对R很新,但我很鼓励,因为我发现虽然我不是程序员,但却可以访问它.我试图解决以下问题:我需要计算值更改在列中签名的次数,然后按路径对结果进行排序(表格的示例如下 - 路径是一个因素).我可以想象一下我最终得到它们后如何对数据进行排序,但还没有弄清楚+符号变成次数的计数 - 而且 - 符号变为+ 1.有什么建议吗?

Test <- structure(list(Path = c(1L, 1L, 1L, 2L, 2L, 2L), Direction = c(-3.84089, 
-1.12258, 1.47411, -1.47329, 5.4525, 10.161)), .Names = c("Path", 
"Direction"), class = "data.frame", row.names = c(NA, -6L))
head(Test)
#>   Path    Direction
#> 1    1     -3.84089
#> 2    1     -1.12258
#> 3    1      1.47411
#> 4    2     -1.47329
#> 5    2      5.4525
#> 6    2     10.161
Run Code Online (Sandbox Code Playgroud)

r

3
推荐指数
2
解决办法
2431
查看次数

R XTS PKG和季度数据

可能是一个愚蠢的问题,但我找不到答案。我在xts / zoo包中使用R,并且有一些季度时间序列数据。我正在从Excel文件中读取数据(我知道,不理想,但这里没有任何问题)并将其存储在数组中。然后,我使我的时间序列对象基本上像这样:“ tsthis = xts(tmp$data, tmp$date)”,其中tmp是保存数据的数组。这一切对于年月日日期都可以正常工作,但是我无法让xts将格式为“ 1990 Q1”的季度日期识别为日期。我敢肯定有些简单的东西,但是我还没有找到。显然,我是R的新手。在此先感谢您!

r xts as.yearqtr

3
推荐指数
1
解决办法
1134
查看次数

在组内变化之前和之后计数,为每个唯一班次生成新变量

我正在计算我的组中唯一值的出现次数id.我在看TF.当TF我想要从那一点向前和向后计算变化时.此计数应存放在一个新的变量PM#,让PM#同时拥有正负每个独特的移位TF.从我收集到的rle,我需要使用,但我有点卡住了.

我用这个工作的例子来说明我的问题.

我有这些数据

df <- structure(list(id = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 
7L, 7L, 7L, 7L), TF = c(NA, 0L, NA, 0L, 0L, 1L, 1L, 1L, NA, 0L, 
0L, NA, 0L, 0L, 0L, 1L, 1L, 1L, NA, NA, 0L, 0L, 1L, 0L, 0L, …
Run Code Online (Sandbox Code Playgroud)

r count data-manipulation

3
推荐指数
1
解决办法
175
查看次数

润滑至每月的最后一天

library(dplyr)
library(lubridate)
Run Code Online (Sandbox Code Playgroud)

我有一些这样的数据

f <- tribble(~a, ~date,
             "BVH", 201801,
             "HBYU", 202012,
             "CYC", 202112,
             "AC", 202109)
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为该月的最后一天,我这样做

f %>% mutate(date = ym(date))
# A tibble: 4 x 2
  a     date      
  <chr> <date>    
1 BVH   2018-01-01
2 HBYU  2020-12-01
3 CYC   2021-12-01
4 AC    2021-09-01
Run Code Online (Sandbox Code Playgroud)

我想要的是,这个

# A tibble: 4 x 2
a     date      
<chr> <date>    
1 BVH   2018-01-31
2 HBYU  2020-12-31
3 CYC   2021-12-31
4 AC    2021-09-30
Run Code Online (Sandbox Code Playgroud)

r lubridate tidyverse

3
推荐指数
1
解决办法
566
查看次数