我已经在excel中为我提供了一些非常笨拙的格式化数据,我需要对其进行重塑,使其适合在R中运行生存分析。
我将数据摘录上载到Google云端硬盘:https : //drive.google.com/open?id=1ret3bCDCYPDALQ16YBloaeopfl2-qVbp
原始数据框包含大约2100个观测值和950个变量
这是基本数据帧:
my.data<-data.frame(
ID=c( "", "","C8477","C5273","C5566"),
LR=c("2012Y","State:FL",5,6,8),
LR=c("2012Y","State:AZ",5,8,10),
LR=c("2011Y","State:FL",7,2,1)
)
my.data
# ID LR LR.1 LR.2
# 1 2012Y 2012Y 2011Y
# 2 State:FL State:AZ State:FL
# 3 C8477 5 5 7
# 4 C5273 6 8 2
# 5 C5566 8 10 1
Run Code Online (Sandbox Code Playgroud)
所有列均具有相同的名称“ LR”。我不知道以后是否会出现问题...
在第1行中给出了Year,在第2行中给出了观察的相应状态。
作为输出,我需要一些面板数据供以后的生存分析使用。
my.data<-data.frame(
ID=c("C8477","C5273","C5566"),
Year=c("2012","2012","2011"),
State=c("FL","AZ","FL"),LR=c(5,8,1)
)
my.data
# ID Year State LR
# 1 C8477 2012 FL 5
# 2 C5273 2012 AZ 8
# 3 C5566 2011 …Run Code Online (Sandbox Code Playgroud) 考虑以下 R Markdown 文档:
---
title: "Stack Overflow Question"
author: "duckmayr"
date: "6/21/2019"
output: pdf_document
header-includes:
- \usepackage{setspace}
- \doublespacing
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
Here is some example text.
I want all the body text to be double-spaced,
but I want all echoed code from code chunks to be single spaced.
In other words, not this:
```{r}
## This code is double-spaced.
## I want it to be single spaced.
## How can I do that? …Run Code Online (Sandbox Code Playgroud) 我正在尝试将 dplyr 中的一些较慢的进程移动到使用 data.table,但是似乎无法找到一种在 data.table 中使用“mutate_at”类型方法的有效方法。特别是,在命名创建的新变量并将超过 1 个函数应用于多个列时。
下面我使用 mutate_at 将 2 个不同的函数应用到 2 个具有关联命名的不同列 + 使用 group by 语句。我希望能够在 data.table 中轻松复制它。
library(tibble)
library(zoo)
Data = tibble(A = rep(c(1,2),50),
B = 1:100,
C = 101:200)
Data %>%
group_by(A) %>%
mutate_at(vars(B,C), funs(Roll.Mean.Week = 7 * rollapply(., width = 7, mean, align = "right", fill = 0, na.rm = T, partial = T),
Roll.Mean.Two.Week = 7 * rollapply(., width = 14, mean, align = "right", fill = 0, na.rm = T, partial …Run Code Online (Sandbox Code Playgroud) 我有两个不同结构的列表。在一个函数中,我想获得一个在两个列表中具有相同名称的列。有没有通用的方法来处理这个问题?
list_1_1_1 <- list(list(list(tibble::tibble("a" = c(1, 2), "b"=c(3, 4))), list("a"=c(1, 2))))
list_1_1_1
# Call column called b
list_1_1_1[[1]][[1]][[1]]$b
list_1_1 <- list(list(tibble::tibble("a" = c(1, 2), "b"=c(3, 4))), list("a"=c(1, 2)))
list_1_1
# Call column called b
list_1_1[[1]][[1]]$b
Run Code Online (Sandbox Code Playgroud)
我想获得名为 b 的列,它具有适用于两种不同情况/示例的同一行代码,这可能吗?提前致谢。
DT::Datatable我正在尝试根据此代码块分别用绿色和红色对a 的某一列(第三列)的正值和负值进行着色,但我不是 javascript 用户。有什么办法可以设置这个吗?
library(DT)
datatable(head(iris)) %>%
formatStyle(1:4, color = JS("value % 1 === 0 ? 'red' : ''"))
Run Code Online (Sandbox Code Playgroud) 我试图facet_wrap用默认情况下按字母顺序对图进行排序来进行绘图。但是,期望的结果是按数字降序列对其进行排序。
以下是我得到的:
\n\nlibrary(tidyverse)\n\nM <- data.frame(\n A = LETTERS[1:10],\n B = round(rnorm(10,200,50)), \n C = letters[15:24]\n )\n\nggplot(M, aes(A, B)) + \n geom_bar(stat = "identity") + \n facet_wrap(~C)\nRun Code Online (Sandbox Code Playgroud)\n\n相反,我希望得到按 B 列降序排列的图
\n\narrange(M, desc(B)) %>%\n ggplot(aes(A, B)) + \n geom_bar(stat = "identity") + \n facet_wrap(~C) ## need it ordered by B\nRun Code Online (Sandbox Code Playgroud)\n\n我知道一种方法是改变级别,但我不知道在序列中的哪个位置以及如何进行。
\nr ×6
dplyr ×2
data.table ×1
dt ×1
facet-wrap ×1
ggplot2 ×1
javascript ×1
list ×1
mutate ×1
r-markdown ×1
reshape ×1
stack ×1