我有以下类型的数据:
mydata <- data.frame (yvar = rnorm(200, 15, 5), xv1 = rep(1:5, each = 40),
xv2 = rep(1:10, 20))
table(mydata$xv1, mydata$xv2)
1 2 3 4 5 6 7 8 9 10
1 4 4 4 4 4 4 4 4 4 4
2 4 4 4 4 4 4 4 4 4 4
3 4 4 4 4 4 4 4 4 4 4
4 4 4 4 4 4 4 4 4 4 4
5 4 4 4 4 …Run Code Online (Sandbox Code Playgroud) 我有以下类型的数据
ex1 <- data.frame (A = 1:6, B = c(1,2,3,5,1,1), qit = c(1,2,1,2,5,1))
ex1
A B qit
1 1 1 1
2 2 2 2
3 3 3 1
4 4 5 2
5 5 1 5
6 6 1 1
Run Code Online (Sandbox Code Playgroud)
我尝试了以下ifelse循环,但没有考虑我需要的东西..
ifelse (ex1[1] == ex1[2] & ex1$qit, 1,
ifelse ( ex1[1]== ex1$qit || ex1[2]== ex1$qit, 0.5,
NA))
Run Code Online (Sandbox Code Playgroud)
条件是:
(1) If A = B = qit , then output 1 (else)
(2) Either A = qit or B = qit …Run Code Online (Sandbox Code Playgroud) 如何治疗R中的p值?
我期待非常低的p值,如:
1.00E-80
Run Code Online (Sandbox Code Playgroud)
我需要-log10
-log10(1.00E-80)
Run Code Online (Sandbox Code Playgroud)
-log10(0)是Inf,但是在圆整的意义上也是Inf.
但似乎在1.00E-308之后,R收益率为0.
1/10^308
[1] 1e-308
1/10^309
[1] 0
Run Code Online (Sandbox Code Playgroud)
p值显示的准确性与lm功能是否与截止点1e-308相同,或者它的设计使得我们需要一个截止点,我需要考虑一个不同的截止点 - 例如1e-100(对于例如)用<1e-100替换0.
我有一个像这样的大数据框:
groupvar <- c("A", "A", "A", "A", "B", "B", "B", "C", "C", "C", "C", "D", "D", "D", "E", "E")
valuevar <- c( 1, 0.5, 0.5, 0.5, 1, 0.75, 0.75, 1, 0.8, 0.8, 0.8, 1, 0.9, 0.9, 1, 1.5)
myd <- data.frame (groupvar, valuevar)
groupvar valuevar
1 A 1.00
2 A 0.50
3 A 0.50
4 A 0.50
5 B 1.00
6 B 0.75
7 B 0.75
8 C 1.00
9 C 0.80
10 C 0.80
11 C 0.80
12 D …Run Code Online (Sandbox Code Playgroud) 我有相当复杂的功能,但以下是我想做的简化版本.
假设我将以下函数设置为返回列表,我希望将传递给函数的参数存储为元素之一.
myfun <- function (a, x, y, z, ...){
out <- a+x+y+z
arg <- list(x=x,y=y, z=z,...)
outlist <- list(out=out, arg=arg)
return(outlist)
}
Run Code Online (Sandbox Code Playgroud)
这里我将参数存储在函数列表中.存储参数的目的是我可以在其他函数中完全相同地应用它们而无需再次编写它们.只需使用返回的输出数据对象,我们就可以运行函数可重现的方式.
假设我只想改变,a但其他功能的其他应用也是如此.
xy <- myfun(a=4,x=5,y=6,z=9,k=10)
myfun(a=10, xy$arg)
Error in a + x : non-numeric argument to binary operator
myfun(a=6, xy$arg)
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点 ?
编辑:
一些澄清:
myfun参数是动态的 - 意味着可以采用不同的参数 - 例如上例中的K. 它可以是下一次:
xy <- myfun(a=4,x=5,y=6,z=9,k=10, l=13)
Run Code Online (Sandbox Code Playgroud)
我的想法是将所有在一次运行中传递的参数存储为list(arg$outlist),并且list可以在不同的时间存在不同的元素.
我正在尝试使用 for 从 for 创建多个对象,只是示例(不准确):
l_gr <- list (1:10, 11:20, 21:30)
for (i in 1:length(l_gr)){
grp <- NULL
grp[[i]] <- mean(l_gr[[i]])
}
Run Code Online (Sandbox Code Playgroud)
这不是我所期望的,而是我需要输出多个对象(不同类)但是名称与 i 级别不同,例如:这里是 grp1、grp2、grp3。这些对象中的每一个都有特定 i 列表的函数输出。对不起,简单的问题。
编辑:响应提供具体示例:
install.packages("onemap")
require(onemap)
data(example.out)
twopts <- rf.2pts(example.out)
all.data <- make.seq(twopts,"all")
link_gr <- group(all.data)
link_gr$n.groups
Run Code Online (Sandbox Code Playgroud)
开始循环
# without loop:
# for 1
grp1 <- make.seq(link_gr, 1)
grp1.od <- order.seq(input.seq=grp1, n.init = 5, subset.search = "twopt",
twopt.alg = "rcd", THRES = 3, draw.try = TRUE, wait = 1, touchdown=TRUE)
# for 2
grp2 <- …Run Code Online (Sandbox Code Playgroud) 我试图将血压数据绘制成一个情节,我可以在一天(一小时到一小时)内看到,一周到一天.这是我期待的原型图.

我需要自动化绘图,生成数据的应用程序将具有以下格式:
mydHeart <- data.frame (datetime = paste("12/", rep(1:10, each=4), "/14 ",
rep(c("14:14:00", "12:15:00", "18:15:14", "22:15:14"), 4), " PM", sep=""),
systolic = round(rnorm(40, 120, 5),0), distolic= round(rnorm(40, 80, 3),0))
datetime systolic distolic
1 12/1/14 14:14:00 PM 126 76
2 12/1/14 12:15:00 PM 126 79
3 12/1/14 18:15:14 PM 122 79
4 12/1/14 22:15:14 PM 130 84
5 12/2/14 14:14:00 PM 122 80
6 12/2/14 12:15:00 PM 120 79
7 12/2/14 18:15:14 PM 119 82
8 12/2/14 22:15:14 PM 126 80 …Run Code Online (Sandbox Code Playgroud) 我想粘贴内容为""的东西.
> i = 4
> paste("var", i, "option="juk"", "--opt2 12")
Error: unexpected symbol in "paste("var", i, "option="juk"
Run Code Online (Sandbox Code Playgroud)
粘贴的短语应该是什么样的(其中包括逗号)
var 4 option = "juk" --opt2 12
Run Code Online (Sandbox Code Playgroud)
有什么方法可以解决这个问题吗?
r ×8
function ×2
if-statement ×2
aggregate ×1
decimal ×1
ggplot2 ×1
loops ×1
mean ×1
numerical ×1
object ×1
paste ×1
plot ×1
plyr ×1
probability ×1
time-series ×1