小编SHR*_*ram的帖子

在创建表时减少值

我有以下类型的数据:

 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)

aggregate r

2
推荐指数
1
解决办法
236
查看次数

在ifelse的条件

我有以下类型的数据

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)

loops if-statement r

2
推荐指数
2
解决办法
7660
查看次数

小数点 - 语言R中的概率值为0

如何治疗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.

numerical r probability decimal

2
推荐指数
1
解决办法
1156
查看次数

通过避免R中组中的第一个值来按组计算均值

我有一个像这样的大数据框:

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)

r function mean plyr

2
推荐指数
1
解决办法
142
查看次数

在函数内部存储函数参数并将其应用于将来在r中使用

我有相当复杂的功能,但以下是我想做的简化版本.

假设我将以下函数设置为返回列表,我希望将传递给函数的参数存储为元素之一.

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可以在不同的时间存在不同的元素.

r function

2
推荐指数
1
解决办法
429
查看次数

for循环在r中输出不同的对象

我正在尝试使用 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)

if-statement r object

1
推荐指数
1
解决办法
1万
查看次数

在r中绘制每日和每周变化日期数据

我试图将血压数据绘制成一个情节,我可以在一天(一小时到一小时)内看到,一周到一天.这是我期待的原型图.

在此输入图像描述

我需要自动化绘图,生成数据的应用程序将具有以下格式:

    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)

plot r time-series ggplot2

1
推荐指数
1
解决办法
741
查看次数

在R中粘贴的逗号

我想粘贴内容为""的东西.

> 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 paste

1
推荐指数
1
解决办法
159
查看次数