我有一个如下所示的数据框:
#df
ID DRUG FED AUC0t Tmax Cmax
1 1 0 100 5 20
2 1 1 200 6 25
3 0 1 NA 2 30
4 0 0 150 6 65
Run Code Online (Sandbox Code Playgroud)
答案等等.我想总结药物DRUG和FED状态的AUC,Tmax和Cmax的一些统计数据FED.我用dplyr.例如:对于AUC:
CI90lo <- function(x) quantile(x, probs=0.05, na.rm=TRUE)
CI90hi <- function(x) quantile(x, probs=0.95, na.rm=TRUE)
summary <- df %>%
group_by(DRUG,FED) %>%
summarize(mean=mean(AUC0t, na.rm=TRUE),
low = CI90lo(AUC0t),
high= CI90hi(AUC0t),
min=min(AUC0t, na.rm=TRUE),
max=max(AUC0t,na.rm=TRUE),
sd= sd(AUC0t, na.rm=TRUE))
Run Code Online (Sandbox Code Playgroud)
但是,输出不按DRUG和FED分组.它只给出一行包含DRUG和FED中未分面的统计数据.
知道为什么吗?我怎样才能让它做正确的事情?
我想知道是否有可能conditionalPanel在闪亮中添加多个条件.这是一个例子:
conditionalPanel(condition = "input.SELECT == 1",
#Slider
sliderInput("D_FLAG", "Parameter X:",
min = 0.001, max = 3, value = 1.38, step = 0.1))
Run Code Online (Sandbox Code Playgroud)
我想添加另一个条件(除了input.SELECT==1).我试过这个但是没用.
conditionalPanel(condition = c("input.SELECT == 1","input.FED==2"),
#Slider
sliderInput("D_FLAG", "Parameter X:",
min = 0.001, max = 3, value = 1.38, step = 0.1))
Run Code Online (Sandbox Code Playgroud)
但它不起作用.如果有人能够以正确的方式在conditionalPanel上面包含多个条件,我将不胜感激.
我有两个数据帧(df1,df2).我想填写从df1到df2的AGE和SEX值,条件是在两者之间具有相同的ID.我尝试了几种方法使用for循环并检查两个数据帧之间的主题ID匹配,但我失败了.结果应与df3中的结果相同.我有一个庞大的数据集,所以我希望R中的一段代码能够轻松完成.非常感谢您的帮助.谢谢.
df1:
ID AGE SEX
90901 39 0
90902 28 0
90903 40 1
df2:
ID AGE SEX Conc
90901 NA NA 5
90901 NA NA 10
90901 NA NA 15
90903 NA NA 30
90903 NA NA 5
90902 NA NA 2.45
90902 NA NA 51
90902 NA NA 1
70905 NA NA 0.5
result:
df3:
ID AGE SEX Conc
90901 39 0 5
90901 39 0 10
90901 39 0 15
90903 40 1 30
90903 40 1 …Run Code Online (Sandbox Code Playgroud) 我想为数据框中的每个主题ID添加一个额外的行(如下所示).这行应该有TIME=0和DV=0.其他列中的其他值应保持不变.数据框如下所示:
ID TIME DV DOSE pH
1 1 5 50 4.6
1 5 10 50 4.6
2 1 6 100 6.0
2 7 10 100 6.0
Run Code Online (Sandbox Code Playgroud)
添加额外的行后,它应如下所示:
ID TIME DV DOSE pH
1 0 0 50 4.6
1 1 5 50 4.6
1 5 10 50 4.6
2 0 0 100 6.0
2 1 6 100 6.0
2 7 10 100 6.0
Run Code Online (Sandbox Code Playgroud)
我怎么能在R中实现这个目标?
问题是,当我使用read.xlsxfrom openxlsxpackage从 Excel 工作表读取到 R 时,该TIME列被转换为分数。
这是一个例子,
dfin <-
DATE TIME
15/02/2015 8:00 AM
22/01/2014 10:00 PM
library(openxlsx)
test <- read.xlsx("dfin.xlsx", sheet = 1,
detectDates=TRUE, skipEmptyRows = TRUE,
skipEmptyCols = TRUE, rows = NULL, cols = NULL, check.names = FALSE,
namedRegion = NULL, na.strings = "NA", fillMergedCells = FALSE)
Run Code Online (Sandbox Code Playgroud)
输出:
DATE TIME
2015-02-15 0.3333333
2014-01-22 0.9166667
Run Code Online (Sandbox Code Playgroud)
我不确定它为什么会这样做,以及是否有办法解决这个问题,因为我需要同时使用 DATE 和 TIME 来进行一些计算。
我发现在 R 中对数据框中的某些行进行排序有点棘手。数据具有以下结构。
df <-
ID TIME DVID AMT DV PERIOD
1 0 0 50 NA 1
1 0.5 1 0 10 1
1 0.5 2 0 15 1
2 600 0 100 NA 2
2 600 1 0 2.5 2
2 600 2 0 4 2
2 602 1 0 20 2
2 602 2 0 35 2
3 800 0 50 NA 3
3 800 1 0 5 3
3 800 2 0 10 3
Run Code Online (Sandbox Code Playgroud)
因为PERIOD >= …
我有一个如下所示的数据框:
df1 <-
ID event CONC
1 1 5
1 2 10
3 1 7
3 2 10
Run Code Online (Sandbox Code Playgroud)
对于每一行,我想计算两个事件之间的百分比差异,并将其添加到新列中.
例如:对于ID = 1
diff <- (10-5)*100
Run Code Online (Sandbox Code Playgroud)
我需要有关如何为每个行指定(CONCrow2-CONCrow1)的帮助.然后我可以使用以下内容通过ID应用它:
df2 <- df1 %>%
group_by(ID) %>%
mutate (percent = ....)
Run Code Online (Sandbox Code Playgroud) 我有一个如下所示的数据框:
ID TIME AMT
1 0 50
1 1 0
1 2 0
1 3 0
1 4 0
1 4 50
1 5 0
1 7 0
1 9 0
1 10 0
1 10 50
Run Code Online (Sandbox Code Playgroud)
TIME上述数据框中的列是连续的.我想添加另一个时间列,将时间从零重置为AMT>0.所以,我的输出数据框应如下所示:
ID TIME AMT TIME2
1 0 50 0
1 1 0 1
1 2 0 2
1 3 0 3
1 4 0 4
1 4 50 0
1 5 0 1
1 7 0 3
1 9 0 …Run Code Online (Sandbox Code Playgroud) 我想通过ID,DRUG,FED总结CONCfor DVID =1和的总和DVID==2
df<-
ID DRUG FED DVID CONC
1 1 1 1 20
1 1 1 2 40
2 2 0 1 30
2 2 0 2 100
Run Code Online (Sandbox Code Playgroud)
我试过用这个:
df2 <- df %>%
group_by(ID,DRUG,FED) %>%
summarise(SumCOnc=CONC+lag(CONC))
Run Code Online (Sandbox Code Playgroud)
但是我收到此错误:
Error: expecting a single value
Run Code Online (Sandbox Code Playgroud)
我使用时没有收到错误mutate.有没有办法解决它,所以我summarise在上述情况下使用?
输出应该基本上是这样的:
ID DRUG FED SumConc
1 1 1 60
2 2 0 130
Run Code Online (Sandbox Code Playgroud) 我不确定我做错了什么.我有一个数据框,而不是一个以上的研究.我想过滤第7,9,120号研究.我filter在这样的dplyr包中使用:
df <- filter(data, STUDY==7, STUDY==9, STUDY==100)
Run Code Online (Sandbox Code Playgroud)
这给了我一个ZERO观测数据框.当我只过滤一个STUDY时,它可以工作.为了过滤研究组合,编写它的正确方法是什么?
我有一个Cpp函数,使用Rcpp packgae在R函数内部调用.R函数接受inputDataFrame并使用Cpp函数(也接受DataFrame)来计算药物量(A1)作为时间的函数.然后R返回inputDataFrame计算量的添加列A1.
我想roxygen2在RStudio中使用包来对R函数(而不是Cpp函数)进行documnet.但是,当我使用roxygen2注释(如下所示)时,它没有按照您在构建模型时所期望的方式生成*.RD文件和帮助页面.请注意,当我的包只包含R函数时,我可以毫无困难地使用roxygen2.在后一种情况下,*.RD文件和帮助页面会按预期自动生成.
有关如何做到这一点的任何提示?