当我试图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) 我对haskell网络(以及一般的点对点通信)相当新,并且正在寻找一种玩家到玩家联网的刽子手游戏,类似于流行的"和朋友一起玩".在完成了一些教程,包括haskell.org的"实现聊天服务器"之后,我能够成功创建一个服务器并将套接字连接到套接字,然后弹回消息和第四个消息.
我还有一个刽子手客户端,在给定预定输入时按预期播放.
但是,我遇到了连接客户端之间排序事件的问题.因为读取和写入套接字通道发生在不同的线程上(由于readChan和writeChan的阻塞性质),我不确定如何在远程终端之间对动作进行排序.我知道我想要什么,而不是如何到达那里:
我已经走了几步.我更成功的方法之一是通过阻塞信号量.我曾经想过随着"控制"玩家的转变而使用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".这需要做两次,每个玩家一次.
提前致谢.
我目前正在尝试运行一些最初在 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")\nRun 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) 我目前遇到一个非常简单的问题,即从反引用的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的解决方案效果很好.
下面我提供了一些我一直在研究的代码片段.我已成功读取字符串作为表格.我希望使用中位数()函数存在我的表的一些子集.根据我所做的研究和我自己的经验,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) 我尝试过使用向量,数组,列表和集合.当我稍后访问数据时,似乎数据被转换为某种一维结构.例如.
这个:
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) 我很想知道正确的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参数吗?我输入两种类型的矩阵并得到一些结果,但不知道这是否正确使用该函数,这些只是随机数.感谢您的时间.我很抱歉这不是更有趣.