所以我目前正在尝试绘制线性模型的置信区间.我发现我应该使用predict.lm(),但我有一些问题真正理解这个功能,我不喜欢在不知道发生了什么的情况下使用函数.我在这个主题上找到了几个方法,但只有相应的R代码,没有真正的解释.这是函数本身:
## S3 method for class 'lm'
predict(object, newdata, se.fit = FALSE, scale = NULL, df = Inf,
interval = c("none", "confidence", "prediction"),
level = 0.95, type = c("response", "terms"),
terms = NULL, na.action = na.pass,
pred.var = res.var/weights, weights = 1, ...)
Run Code Online (Sandbox Code Playgroud)
现在,我难以理解:
1) newdata
An optional data frame in which to look for variables
with which to predict. If omitted, the fitted values are used.
Run Code Online (Sandbox Code Playgroud)
每个人似乎都使用newdata,但我不太明白为什么.为了计算置信区间,我显然需要这个区间所用的数据(如观察的数量,x的平均值等),因此不能是它的意思.但那么:这是什么意思?
2) interval
Type of interval calculation.
好吧..但是什么是"无"?
3a) type
Type of prediction …
我正在使用Rstudio简化Sweave和R的数据分析,我将与其他分析师分享.为了使变量的编码变得清晰,如果需要的话,可以使用帮助文件这样的东西来调用?myData
并获取有用的文件.我喜欢Rd降价并认为它实际上具有记录分析数据集的巨大潜力,包括总体摘要,通过变量分解的变量,以及如何运行一些探索性分析的示例.
如果你专门创建一个包,这很容易做到这一点,但我认为它很混乱,因为包最终是一个函数集合,它们不集成Rnw文件.
我可以使用Roxygen2为不属于任何包的数据集创建帮助文件吗?
我感兴趣的是用R中的最小代码修改基函数的方法.我知道body
函数将返回任何函数的主体.所以我将输出存储body(basefoo)
在一个变量中bar
.想要了解更多关于它是如何工作的,我检查了这个类bar
.这是"{"
.我以为这是一个奇怪的课程.我寻找方法,methods(class="\\{")
但它说没有方法.
{
课程存在的原因是什么?如何修改{
对象或与对象交互?
编辑我找到了答案并发布在下面.我认为它在数学模式下工作的唯一原因是因为我正在运行一个例子,并且从未看到sanitize-text-function
参数被传递给print方法.一旦可用,我会接受这个答案.
我正在排版手稿并对其进行数据分析.在这个分析中,我正在生成一个表1,并希望在表中缩进一些行名称,以使其具有层叠感.
我的数据示例如下:
require(xtable)
data <- data.frame(
'case'=sample(c('case', 'control'), 100, replace=TRUE),
'age'=sample(c('40-50,', '50-60', '60-70'), 100, replace=TRUE),
'sex'=sample(c('male', 'female'), 100, replace=TRUE),
'income'=sample(c('under 50,000', '50-100,000', 'over 10000'), 100, replace=TRUE)
)
tables <- lapply(data[, -1], table, data[, 1])
tables <- lapply(tables, function(x) {
rownames(x) <- paste('\\hspace{5mm}', rownames(x))
x
})
tablenames <- names(tables)
tables <- Reduce(rbind, mapply(rbind, '', tables))
rownames(tables)[rownames(tables) == ''] <- tablenames
xtable(tables)
xtable(tables, type='latex', sanitize.text.function=identity)
Run Code Online (Sandbox Code Playgroud)
我理解最后两个xtable命令应该返回不同的表.我正在使用最新版本的R和xtable.
在SAS中,我按顺序列出列变量,并列相应的列变量,如下所示:
id lab1 lab2 lab3 dt1 dt2 dt3 bili1 bili2 bili3 alb1 alb2 alb3
3 dx sx sx 2/04 2/06 3/08 x.x x.x x.x x.x x.x x.x
4 dx tx tx 5/05 3/06 9/06 x.x x.x x.x x.x x.x x.x
Run Code Online (Sandbox Code Playgroud)
我想转换成以下长格式:
id lab dt bili alb
3 dx 2/04 x.x x.x
3 sx 2/06 x.x x.x
3 sx 3/08 x.x x.x
4 dx 5/05 x.x x.x
4 tx 3/06 x.x x.x
4 tx 9/06 x.x x.x
Run Code Online (Sandbox Code Playgroud)
但我似乎无法通过推杆正确操纵这一点
var lab1-lab3 dt1-dt3 …
Run Code Online (Sandbox Code Playgroud) 有时我使用attach
一些子集项来处理奇数维的研究数据.为了防止在环境中"屏蔽"变量(实际上是警告消息本身),我只是简单地调用detach()
从R搜索路径中删除我正在使用的任何数据集.当我弄乱脚本时,我最终可能会打detach
几次电话.好了,有趣的是,如果我把它足够,R去掉那些在启动时加载,就像从包的一部分功能utils
,stats
和graphics
.为什么"分离"删除这些功能?
我在项目文件夹中有函数和数据集的文档。在文档文件夹中,我有所有数据集的 .Rd 文件。我希望用户能够调用自定义帮助函数并在查看器中启动 .Rd 文件,就像从文件编辑器编译文件时自动完成的那样。是否有可能做到这一点?
我有兴趣在2个协变量(消费者属性和提供者属性)中显示"大n"序数量表调查响应信息.我正在使用R的hexbin包.我希望六边形的大小表示调查响应的数量和六边形的颜色,以表示线性平均满意度响应.
我似乎无法找到文档,指出如何使用hexbin或其他现有的包.
编辑以获得更多说明:
我的数据结构如下:
csr_score pro_score rating
15 16 8
17 18 10
19 12 4
Run Code Online (Sandbox Code Playgroud)
其中该数据帧的长度为20,000行.
我在SAS中使用宏来遍历特定库中的数据表.我将元数据信息放在数据空步骤中,并与where语句和我的宏变量进行比较.
我的SQL步骤如下:
proc sql;
select quote(trim(code)) into :procedures separated by ', ' from procedures;
quit;
Run Code Online (Sandbox Code Playgroud)
code
包含值的某些值,如"45.10"和"G0102",因此不能强制转换为数字.该宏包含以下行:
%macro filter_codes(indata, outdata);
data &outdata;
set &indata(where = (code in (&procedures)));
run;
%mend;
Run Code Online (Sandbox Code Playgroud)
但是使用"quote"函数进行双引号时,十进制值会产生问题.
我可以用单引号分隔值吗?
编辑:问题是由于filter_codes宏在一个调用执行步骤(在一系列数据集中)运行的事实引起的,并且在双引号内的宏变量中解析的双引号将结束调用execute.
我正在使用R来清理数据.我有一个包含1,000列的数据集,所有这些都有一些修改.我发现$
运算符使我的代码不可读.我喜欢使用with
命令执行数据步骤,以便数据框的所有元素都是本地范围的(原谅我几乎完全忽略了计算机科学).但是,在完成所有操作之后,我想返回我在with
步骤中编写的所有变量,并可能覆盖我之前提取的任何变量.我注意到该ls()
命令只查看with
步骤中定义的变量,但是如何将它们连接到数据帧?
作为期望输出的示例:
set.seed(123)
myDat <- data.frame('x'=rnorm(3))
y <- with(myDat, {
xgt0 <- x > 0
x2 <- x^2
foo()
})
print(y)
x1 xgt0 x2
1 -0.5604756 FALSE 0.31413295
2 -0.2301775 FALSE 0.05298168
3 1.5587083 TRUE 2.42957161
Run Code Online (Sandbox Code Playgroud) 有时我必须使用 R 代码来删除特定文件夹中的文件。为了确保我永远不会意外删除某些东西,我想用它pattern
来确保只删除所需的文件(因此,如果我使用错误的目录,则不会发生任何事情):
file.remove(dir(path="D:/Folder/RestOfMyPath/",pattern="*_pattern.csv"))
我得到:
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[18] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
There were 28 warnings (use warnings() to see them)
Run Code Online (Sandbox Code Playgroud)
我是否输入warnings()
:
1: In file.remove(dir(path = "D:/Folder/RestOfMyPath/", ... :
cannot remove file 'my_file1_pattern.csv', reason 'No such file or directory'
Run Code Online (Sandbox Code Playgroud)
我可以看到文件(例如 my_file1_pattern.csv)在那里。我可以打开它们或手动删除它们。它们都是由 R 生成的,但它们是常规的 .csv 文件。最奇怪的部分是,这有时有效,但仅在感觉上如此。有时我会得到TRUE
相反的FALSE
文件被删除(很少)。但我不知道如何控制它。我使用 R 工作室,但在原始 R 中出现同样的问题。
我们的办公室会扫描数据输入表格,而且我们缺少能够进行自动双重输入的专有软件(当然,主要输入是手工完成的).我们希望为研究人员提供一种工具,以突出表格上的区域,并使用扫描版本来确定参与者的参赛作品.
要做到这一点,我需要进行非常粗略的尝试是将PDF文件作为光栅文件读取的文件,坐标为X,Y分量,B&W白色"强度"为Z轴.
我们主要使用R进行统计分析和数据管理,因此R中的选项会很棒.