小编ord*_*der的帖子

R:来自p.adjust(FDR)的意外结果

当我试图p.adjust在p值向量上运行FDR调整时出现了这个问题.问题是许多得到的p值是相同的.我认为这可能是我的数据的一些怪癖,但我用任意输入向量重现了同样的问题.例如:

temp <- runif(40, min = 0, max = 1) 
temp

# [1] 0.81563482 0.17471363 0.74697979 0.88755248 0.69676260 0.58207008
# [7] 0.87138747 0.76432908 0.64352955 0.06501659 0.70680646 0.81557281
#[13] 0.58480274 0.19476004 0.01035137 0.46119840 0.17783440 0.71828874
#[19] 0.30978182 0.76902202 0.01615609 0.93122152 0.37936458 0.52369562
#[25] 0.90997054 0.30098383 0.70873206 0.71159740 0.38148526 0.78415579
#[31] 0.64605509 0.18898361 0.76770495 0.40651004 0.42255944 0.68395505
#[37] 0.51844368 0.25855720 0.12090991 0.50110836

p.adjust(temp, method="fdr")

# [1] 0.9062609 0.9062609 0.9062609 0.9312215 0.9062609 0.9062609 0.9312215
# [8] 0.9062609 0.9062609 0.8668878 0.9062609 0.9062609 …
Run Code Online (Sandbox Code Playgroud)

r

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

通过网络排序事件(网络化回合制游戏)

我对haskell网络(以及一般的点对点通信)相当新,并且正在寻找一种玩家到玩家联网的刽子手游戏,类似于流行的"和朋友一起玩".在完成了一些教程,包括haskell.org的"实现聊天服务器"之后,我能够成功创建一个服务器并将套接字连接到套接字,然后弹回消息和第四个消息.

我还有一个刽子手客户端,在给定预定输入时按预期播放.

但是,我遇到了连接客户端之间排序事件的问题.因为读取和写入套接字通道发生在不同的线程上(由于readChan和writeChan的阻塞性质),我不确定如何在远程终端之间对动作进行排序.我知道我想要什么,而不是如何到达那里:

  1. 一旦第二个用户连接,调用"发送"功能,提示他们输入第一个玩家的输入字
  2. 玩家1通过"接收"功能接收此单词,并且,如果它不是命令关键字(加入,退出,结果),则使用提供的单词运行刽子手游戏.同时,玩家2的屏幕阻挡,等待玩家1完成.
  3. 玩家1完成.记录他的结果,然后为他调用"发送"功能,提示他输入游戏.
  4. 重复2-3直到玩家退出.

我已经走了几步.我更成功的方法之一是通过阻塞信号量.我曾经想过随着"控制"玩家的转变而使用MVar.它在第一个转弯时正确运行,但此后降级为乱码.一个信号的信道内的概念(这基本上是它的方式太块的无功)真的把我的头搞乱.因为它确实阻止了,它的证明也很难调试.

我对信号量的了解有点不稳定.我这样做的方式是否有意义?

代码可以在bitbucket存储库中找到.以下是获取正确代码/分支所需的步骤:

git clone git@bitbucket.org:ndisidore/haskell-hangman.git
git checkout block-sem
Run Code Online (Sandbox Code Playgroud)

在线查看.

跑步: runhaskell NetInterface.hs

这会创建一个侦听端口3468的套接字

要作为客户端/播放器连接,请打开一个单独的终端并运行"telnet localhost 3468".这需要做两次,每个玩家一次.

提前致谢.

sockets networking multithreading haskell semaphore

6
推荐指数
0
解决办法
319
查看次数

安装 R 包。包含目录为空。开发标头

我目前正在尝试运行一些最初在 2.11.0 下运行的 R 代码。我使用的 R 版本 2.14.1 无法运行代码。我不熟悉 R 及其向后兼容性。(据我所知,我的问题可能与版本无关;我会很高兴得知这是我做错的事情。)其余的代码是无关紧要的;即使我自己运行,我的安装也会失败。

\n\n
#these fail\ninstall.packages("gtools",repos="http://cran.r-project.org")\ninstall.packages("minet", repos="http://cran.r-project.org")\n#these work\ninstall.packages("psych", repos="http://cran.r-project.org")\ninstall.packages("qvalue",repos="http://cran.r-project.org")\ninstall.packages("R2HTML",repos="http://cran.r-project.org")\n
Run Code Online (Sandbox Code Playgroud)\n\n

除了上面列出的方法之外,我还尝试了其他安装方法。我尝试过安装和编译早期版本的gtools和minet。我尝试从其他存储库(biocLite)获取该包的当前版本。然而,所有安装尝试都会产生相同的失败。对于更多背景知识,我不是我尝试运行此代码的计算机上的超级用户。我可以向超级用户请求一些小恩惠(不影响机器的其他用户的恩惠)。我已经能够很好地安装其他软件包;不过正如我之前所说,如果我有一个简单的问题,我会很高兴。以下是一些失败的例子。

\n\n
* installing *source* package \xe2\x80\x98gtools\xe2\x80\x99 ...\n** libs\nWarning: R include directory is empty -- perhaps need to install R-devel.rpm or similar\ngcc -m64 -std=gnu99 -I/usr/include/R  -I/usr/local/include    -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c setTCPNoDelay.c -o setTCPNoDelay.o\nsetTCPNoDelay.c:1:15: error: R.h: No such file or directory\nsetTCPNoDelay.c:2:24: error: Rinternals.h: No such file or directory\nsetTCPNoDelay.c: In function \xe2\x80\x98checkStatus\xe2\x80\x99:\nsetTCPNoDelay.c:66: warning: implicit declaration of …
Run Code Online (Sandbox Code Playgroud)

unix r

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

使perl数组独一无二

我目前遇到一个非常简单的问题,即从反引用的shell命令中捕获输出.我很抱歉问题很简单.

我有一些排序数组(@valid_runs),我知道它包含连续的重复元素.我想使用反引号将此数组回显给uniq.我想捕获数组中的STDOUT.我试图这样做.

@unique_valids = `echo '@valid_runs' | uniq`;
print @unique_valids;
Run Code Online (Sandbox Code Playgroud)

这个打印声明什么都没有.就此而言,这也不是.

@unique_valids = `echo '@valid_runs'`;
print @unique_valids;
Run Code Online (Sandbox Code Playgroud)

我知道如何使用uniq和echo.这对我来说似乎很奇怪.我认为这与perl数组有关,而不是正确使用这些命令.我在其他地方搜索了一下,所以请不要因为解决方案看起来微不足道而感谢我.感谢你的宝贵时间.

关于解决方案的说明:TLP的解决方案是处理uniq问题最直接的解决方案.我很灵活,因为所有的回复都表明没有系统调用这个问题.如果Perl的uniq功能与Unix的uniq相同,那么数组应该保持排序.

如果您不关心排序结果,John Corbett的解决方案效果很好.

unix arrays perl uniq

4
推荐指数
3
解决办法
1183
查看次数

As.vector不会将data.frame子集转换为vector

下面我提供了一些我一直在研究的代码片段.我已成功读取字符串作为表格.我希望使用中位数()函数存在我的表的一些子集.根据我所做的研究和我自己的经验,median()没有为data.frame定义行为,也没有定义data.frame的子集.因此,为了使我的问题适合某些定义的行为,我试图将我想要的子集投射到矢量中.但是,即使使用as.vector投射我想要的子集,我仍然有一个data.frame.当我尝试调用中位数时,我得到"参数不是数字或逻辑:返回NA".

我自己玩了很多,并试图在这里和其他地方找到信息.作为一个注释,我已经尝试了在这个线程R-friendly方式上的重复解决方案中列出的方法将R data.frame列转换为向量?并取得了与现在相同的结果.我不太关心我是如何做到这一点的; 随意提出其他方法.

感谢您的时间.

for(i in 1:length(text_array)){
    temp= read.table(textConnection(text_array[i]), sep="\t",row.names=NULL, header= FALSE,  fill=TRUE) 
    value=""
    #we are now going to process temp and add it
    cur_DS=coll_data_sets[i]
    #median is the value that we are going to insert into the result array.
    #currently the logic behind it is not implemented.
    #the value will be the median of state1 divided by the median of state2.
    t_states=vector(length=ncol(temp))
    for(j in 1:ncol(temp)){
        t_states[j]=toString(temp[2,j])

    }
    t_states=(unique(t_states))
    #this logic is current is set to …
Run Code Online (Sandbox Code Playgroud)

casting r vector dataframe

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

在数据结构中存储read.table的输出

我尝试过使用向量,数组,列表和集合.当我稍后访问数据时,似乎数据被转换为某种一维结构.例如.

这个:

for (i in 1:length(argv)){
    temp= read.csv(file=argv[i], header= TRUE)   
    print( temp )
    input_tables[i]= temp
    print(input_tables[i])
Run Code Online (Sandbox Code Playgroud)

收益率:

     V1 V2 V3 V4
1  1  5  9 13
2  2  6 10 14
3  3  7 11 15
4  4  8 12 16
[[1]]
[1] 1 2 3 4

  V1 V2 V3 V4
1  2 10 18 26
2  4 12 20 28
3  6 14 22 30
4  8 16 24 32
[[1]]
[1] 2 4 6 8

  V1 V2 V3 …
Run Code Online (Sandbox Code Playgroud)

r list lapply data-structures

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

在R中正确使用"cor"功能

我很想知道正确的x(矢量矩阵或数据帧)输入是什么样的.我目前在两种不同类型的矩阵中使用该函数.但是,我不确定R将如何以我想要的方式解释我的数据.我将通过示例解释矩阵的类型.

输入1

           Gene1 Gene2 Gene3
    sample1
    sample2
Run Code Online (Sandbox Code Playgroud)

类型2

          Sample1 Sample2 Sample3
gene 1
gene 2
gene 3
Run Code Online (Sandbox Code Playgroud)

这些格式中的任何一种都有效x参数吗?我输入两种类型的矩阵并得到一些结果,但不知道这是否正确使用该函数,这些只是随机数.感谢您的时间.我很抱歉这不是更有趣.

statistics r

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