在R中,假设有一个数据帧"mydata“,包括自变量"group”(两组)和n个因变量。我想运行n个t-test(每个因变量一个),打印结果,并通过执行以下操作将结果保存在文件中:
variables<-names(mydata)
variables<-variables[-1] #to remove the group variable
capture.output(for(i in variables){print(t.test(get(paste("mydata$", i, sep=""))~mydata$group))},fi
我试着学习R,但不知道什么时候才能恰当地使用。我在想这个例子:
其目标是以多种方式将整个数据格式( ISwR数据库中)中的"dstr“和"died”转换为日期格式(仅供实践使用)。我已经这样做了:
#applying a function to the whole data frame - use the fact that data frames are lists actually
rawstroke=read.csv2(system.file("rawdata","stroke.csv",package="ISwR"),na
很明显,我仍然不理解plyr语法,如下所示。有人能帮我看看我错过了什么吗?
正如预期的那样,下面的代码运行良好:
# make a data frame to use dlply on
f <- as.factor(c(rep("a", 3), rep("b", 3)))
y <- rnorm(6)
df <- data.frame(f=f, y=y)
# split the data frame by the factor and perform t-tests
l <- dlply(df, .(f), function(d) t.
我猜想,在with中,该块中的任何变量都是该块的本地变量。我编写这段代码是为了测试我的假设:
defmodule T do
def test do
r1 = nil
r2 = nil
with(
r1 <- Enum.find([9], &(&1 >= 9)),
r2 <- Enum.find([2], &(&1 <= 2))
) do
end
IO.write("r1 is nil is #{is_nil(r1)}, r2 is nil is #{i
我正在尝试将t测试应用于24级的因子(演讲者).我的目标是根据连续变量,强度差(intdiff),观察正字法(两个水平: jj或L)之间是否存在显着性差异。但是,当使用by()函数时,它返回以下错误:
Error in FUN(X[[1L]], ...) : could not find function "FUN"
导致错误的语法是:
by(data, data$speaker, t.test(intdiff~orthography))
我根据R文档指定了参数,所以我不知道为什么它不接受我提供的函数。任何帮助都将不胜感激。如果您需要尝试重现这个问题,下面是我正在处理的数据集
我对R很陌生,我看过许多类似的问题,但没有发现任何帮助我解决问题的东西。
假设我创建了一个数据框架,如下所示:
dat <- data.frame(v1=rep(c("a","a","b","b"),3), v2=c(rep("x",4),rep("y",4),rep("z",4)), dv=sample(1:100, 12), id=rep(c("p1","p2"),6))
...that看起来是这样的:
v1 v2 dv id
我一直在尝试在R中运行一个两边t-test,但总是出错。下面是我来自R-studio的流程、数据集详细信息和脚本。我使用了一个名为LungCapacity的数据集,它是我从网站下载的。
#Imported data set into RStudio.
# Ran a summary report to see the data and class.
summary(LungCapData)
# Here I could see that the smoke column is a character, so I converted it to a factor
LungCapacityDa
我有一个包含60个参与者的许多数字变量的数据框架。每个参与者都有每个变量的两个值(干预前和干预期间)。我想在此数据框中的每个变量上运行成对的t.test
####data frame look like
Log.Name fat protein carbs
before R 19 32 134
during R 21 43 167
before R 32 14 322
during R 25 32 213
before
我尝试过使用unname()并使用[[1]]只提取t.test()后报告的t的数值,但没有成功。
我想知道如何在R中的t命令中提取t.test的数值?
这里有一个例子:
t.value = unname(t.test(extra ~ group, var.equal = T, data = sleep))[[1]]
(gt = t.value / .2) ## When you run this
#> t ## You see this extra `t` here, how to avoid getting this `t`?
# -9.304067
我试图在R中使用OpenCPU进行t检验,如下所示-
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="//cdn.opencpu.org/opencpu-0.4.js"></script>
和
ocpu.seturl("//public.opencpu.org/ocpu/library/stats/R")
var x = [1,2,3,4,5,6,7,8,9,10];
var y = [7,8,
这是我第一次使用R,我对R中t.test的输出有一个问题。
我正在运行t.test函数,并得到如下输出:
data: Age by Sex
t = -2.652, df = 710, p-value = 0.008181
alternative hypothesis: true difference in means between group female and group male is not equal to 0
95 percent confidence interval:
-5.1887213 -0.7742204
sample estimates:
mean in grou
我很难用不成对的t检验和聚合函数。
示例
dd<-data.frame(names=c("1st","1st","1st","1st","2nd","2nd","2nd","2nd"),a=c(11,12,13,14,2.1,2.2,2.3,2.4),b=c(3.1,3.2,3.3,3.4,3.1,3.2,3.3,3.4))
dd
# Compare all the values in the "a" column that match wit
为中等身高以上男性和中等身高以下男性之间的收入差异设定一个95%的置信区间。
在R中,什么样的程序/脚本对解决这样的问题会有帮助?
能够使用如下命令:
# Use this command to calculate 95% confidence interval for difference in
# height means between males and females
t.test(height ~ sex, data=CPS, conf.level=.95)
但是想不出一种方法来找到相同数据集的低于中位数和高于中位数高度的置信区间。有什么建议吗?抱歉,这是R的新手。
我正在读哈德利韦翰的书高级R,特别是面向对象的指南()。该章的第一个练习如下:
阅读t()和t.test()的源代码,确认t.test()是S3泛型,而不是S3方法。如果使用类测试创建一个对象并使用它调用t(),会发生什么情况?
如果我正确理解了这一章,我们就可以确认t()和t.test()是通用的,因为它们在源代码中使用了UseMethod()函数。方法(T)返回t.data.frame、t.default和t.ts*作为函数t()的方法。那么,如果两者都是S3泛型,并且t没有t.test方法,那么下面的代码会返回t测试吗?
a <- structure(1:4, class =
我正在尝试使用binom.confint计算mean附近的置信区间。
我的数据是以百分比表示的,如下所示:
data<-c(56.8, 34.9, 45.3, 52.3, 48.6, 51.5, 45.2,55.2,40.4,42.7)
and n=10
我一直在研究其他的R脚本,但它们中的大多数都使用以下语法:
library(binom)
binom.confint(x, n, conf.level = 0.95) # here I think X represent each single data points NOT the whole vector (e.g. data)