如果我有以下数据框称为结果
> result
Name CV LCB UCB
1 within 2.768443 1.869964 5.303702
2 between 4.733483 2.123816 18.551051
3 total 5.483625 3.590745 18.772389
> dput(result,"")
structure(list(Name = structure(c("within", "between", "total"
), .rk.invalid.fields = list(), .Label = character(0)), CV = c(2.768443,
4.733483, 5.483625), LCB = c(1.869964, 2.123816, 3.590745), UCB = c(5.303702,
18.551051, 18.772389)), .Names = c("Name", "CV", "LCB", "UCB"
), row.names = c(NA, 3L), class = "data.frame")
Run Code Online (Sandbox Code Playgroud)
很好地呈现这些数据的最佳方法是什么?理想情况下,我想要一个可以粘贴到报告中的图像文件,或者可能是一个表示该表的HTML文件?
设定有效数字的额外点数.
我需要拍摄一系列玻璃试管的图像,并自动指示管中液体的液位或液体到达管底部的位置.图像可能会被网络摄像头收集并在标准PC上处理.我对语言或方法没有限制,但我必须学习它是什么.
我在Vision上发现了一些关于SO的更一般的问题;
有没有人知道我可以审查的任何类似项目,或其他想法/评论.
我正在编写一个R脚本来获取一些数据库数据,然后使用RODBC包来处理它.目前我所有的sqlQuery命令都是一个长字符串;
stsample<-sqlQuery(odcon, paste"select * from bob.DESIGNSAMPLE T1, bob.DESIGNSUBJECTGROUP T2, bob.DESIGNEVENT T3, bob.CONFIGSAMPLETYPES T4 WHERE T1.SUBJECTGROUPID = T2.SUBJECTGROUPID AND T1.TREATMENTEVENTID = T3.TREATMENTEVENTID AND T1.SAMPLETYPEKEY = T4.SAMPLETYPEKEY AND T1.STUDYID = T2.STUDYID AND T1.STUDYID = T3.STUDYID AND T1.STUDYID = ", chstudid, sep=""))
head(stsample)
Run Code Online (Sandbox Code Playgroud)
看起来很难看,很难阅读/更新.我已经尝试过将它们设置为多线,但是新的线条字符会受到阻碍,目前我最好的是使用大量的粘贴;
stsample<-sqlQuery(odcon,
paste(
"select ",
"* ",
"from ",
"BOB.DESIGNSAMPLE T1, ",
"BOB.DESIGNSUBJECTGROUP T2, ",
"BOB.DESIGNEVENT T3, ",
"BOB.CONFIGSAMPLETYPES T4 ",
"WHERE ",
"T1.SUBJECTGROUPID = T2.SUBJECTGROUPID ",
"AND T1.TREATMENTEVENTID = T3.TREATMENTEVENTID ",
"AND T1.SAMPLETYPEKEY = T4.SAMPLETYPEKEY ",
"AND T1.STUDYID = …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个函数来自动进行方差分析,其中一部分涉及进行一些进一步的计算.我一直在使用的方法不是很健壮,如果变量名称发生变化则会停止工作.
对于这个虚拟数据
> dput(assayvar,"")
structure(list(Run = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 3L,
3L, 3L, 4L, 4L, 4L), .rk.invalid.fields = list(), .Label = c("1",
"2", "3", "4"), class = "factor"), Actual = c(246.3, 253.6, 247.6,
249, 249, 251.3, 254.9, 254.1, 253.2, 250, 248.9, 250.3)), .Names = c("Run",
"Actual"), row.names = c(NA, 12L), class = "data.frame")
> assayaov<-aov(Actual~Run+Error(Run),data=assayvar)
> str(summary(assayaov))
List of 2
$ Error: Run :List of 1
..$ :Classes ‘anova’ and 'data.frame': 1 obs. of 3 variables:
.. ..$ …Run Code Online (Sandbox Code Playgroud) 我经常创建特定的sweave文件来进行分析并生成pdf文档,但是,有时我想采用现有的R脚本文件并运行它,同时生成命令和输出的pdf.我知道有一个纠结命令可以将r命令从rnw sweave文件中拉出来创建一个R脚本,但我希望相反.
编辑:我考虑过创建一个只提供我的R脚本的sweave文件,但是我每次都需要编辑sweave文件,并且它不能很好地处理图形和图形.
所以对于像这样的示例R脚本(伪代码,可能不会运行)
head(mcars)
1+1
x<-3
describe(mcars)
p <- ggplot(mtcars, aes(wt, mpg))
p + geom_point()
print(p)
Run Code Online (Sandbox Code Playgroud)
它会产生
<<echo=TRUE, result=latex>>=
print(xtable(head(mcars)))
@
<<echo=TRUE, include=TRUE>>=
1+1
x<-3
@
<<echo=TRUE, result=latex>>=
print(xtable(describe(mcars)))
@
<<echo=TRUE, fig=TRUE, include=TRUE>>=
p <- ggplot(mtcars, aes(wt, mpg))
p + geom_point()
print(p)
@
Run Code Online (Sandbox Code Playgroud)
有人做过吗?
我在数据帧calvarbyruno.1中有一些数据,其中变量Nominal和PAR表示使用特定分析技术分析一组标准时发现的峰面积比(PAR),以及该数据的两个lm模型(线性和二次)对于PAR~Nominal的关系.我正在尝试使用predict.lm函数来反馈计算Nominal值,给定我的PAR值,但是既可以预测.lm和fit也只能给出PAR值.我慢慢失去了我的魔力,任何人都可以帮忙吗?
calvarbyruno.1数据帧
structure(list(Nominal = c(1, 3, 6, 10, 30, 50, 150, 250), Run = structure(c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("1", "2", "3"), class = "factor"),
PAR = c(1.25000000000000e-05, 0.000960333333333333, 0.00205833333333334,
0.00423333333333333, 0.0322333333333334, 0.614433333333334,
1.24333333333333, 1.86333333333333), PredLin = c(-0.0119152187070942,
0.00375925114245899, 0.0272709559167888, 0.0586198956158952,
0.215364594111427, 0.372109292606959, 1.15583278508462, 1.93955627756228
), PredQuad = c(-0.0615895732702735, -0.0501563307416599,
-0.0330831368244257, -0.0104619953693943, 0.100190275883806,
0.20675348710041, 0.6782336426345, 1.04748729725370)), .Names = c("Nominal",
"Run", "PAR", "PredLin", "PredQuad"), row.names = c(NA, 8L), class = "data.frame")
Run Code Online (Sandbox Code Playgroud)
线性模型
summary(callin.1)
Call:
lm(formula = …Run Code Online (Sandbox Code Playgroud) 我有一个函数来计算二次方程的逆.默认情况下,它提供了两种可能的解决方
invquad<-function(a,b,c,y,roots="both")
{
#Calculate the inverse of a quadratic function y=ax^2+bx+c (i.e. find x when given y.)
#Gives NaN with non real solutions.
root1<-sqrt((y-(c-b^2/(4*a)))/a)-(b/(2*a))
root2<--sqrt((y-(c-b^2/(4*a)))/a)-(b/(2*a))
if (roots=="both")
result<-c(root1,root2)
if (roots=="min")
result<-min(root1,root2)
if (roots=="max")
result<-max(root1,root2)
result
}
Run Code Online (Sandbox Code Playgroud)
如果给出单个y值,这可以正常工作,但如果我从数据框中给它一个列表或一列,那么min和max元素给出了整个列表的最小值.我希望它只返回该元素的最小结果.我假设迭代列表是可能的,但效率不高.
有任何想法吗 ?
r ×6
statistics ×2
sweave ×2
formatting ×1
function ×1
presentation ×1
reporting ×1
rodbc ×1
sql ×1