小编use*_*1_G的帖子

将双端队列传递给新的pthread

我有一个代码块,我在一个pthread(让我们调用这个线程a),我希望产生一个新的pthread(让我们调用这个线程b).线程b需要传递一个双端队列,我有以下代码:

void* process_thread_b(void* arg)
{              
  deque<string> *ptr = (deque<string>*)arg;
  cout << "Size -" << ptr->size() << endl;

  deque<string>::iterator it;
  for(it = ptr->begin(); it != ptr->end(); it++)
  {
    cout <<(*it) << endl;
  }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码是线程b's代码.它传递一个双端队列并正确打印出大小.我尝试打印出任何元素的那一刻,我得到:

terminate called after throwing an instance of 'std::bad_alloc'
 what():  std::bad_alloc
Abort (core dumped)
Run Code Online (Sandbox Code Playgroud)

当我产生pthread时,我使用下面的代码......

 deque<string> myDeque;

 // Add strings to deque here...

 pthread_t dispatchCommands;
 pthread_create(&dispatchCommands, NULL, &process_thread_b, (void*)&myDeque);
Run Code Online (Sandbox Code Playgroud)

底部代码发生在线程中a.为什么当我尝试打印出deque的一个元素时,我收到一个错误,但我可以得到它的大小?

c++ pthreads thread-safety deque

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

编写一个带有参数的函数,该参数指示要应用的函数

有没有办法编写一个函数,其中一个参数指示要应用的函数?

例如,如果我有一个功能:

mf = function(data, option, level)
Run Code Online (Sandbox Code Playgroud)

在这里我想选项来告诉是否计算mean,mediansd数据集的?

r

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

使用`$`命名数据帧列向量

有人可以解释为什么在下面的示例中,列名称why似乎仍然保留,x即使它已明确命名why并且可以这样调用但不是列zz

df<-data.frame(x=1:5,y=1:5)
df$z<-"a"
df$zz<-df$x*df$y
df$why<-df[1]*df[2]

df

df["why"]
Run Code Online (Sandbox Code Playgroud)

r dataframe

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

将许多列从一个data.frame复制到另一个

我有以test500列命名的data.frame .我需要创建test1包含7列的data.frame test(它们的编号为1,2,52,121,123,344,401 等).我怎样才能轻松完成?(我的意思是)

r dataframe

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

R,使用字符过滤(子集化)数据并相应地分配名称?

我有一个数据集raw.data.2010,需要几个步骤与不同的动物物种进行子集化.我还需要在每个过滤过程后相应地命名它们.我写了一个简单的代码如下:

#Creating reproducible data######
site=rep(list("Q", "R", "S", "T"), each=500)
grid=sample(1:2, size=2000, replace=TRUE)
spp=rep(list("A", "B", "C", "D", "E"), each=400)
fate=sample(1:5, size=20000, replace=TRUE)
sex=rep(list("M","F"), each=2000)
weight=sample(85:140, size=2000, replace=TRUE)

raw.data=as.data.frame(cbind(site, grid, spp, fate, sex, weight))

### main codes#####
spp=c("A", "B", "C", "D", "E")
    for (i in spp){
        name=paste(i, "raw", sep=".", collapse="")
        filter=paste("select",i, sep="", collapse="")
        assign(filter, raw.data$spp==i)
        assign(name, raw.data[get(filter),])
    }
Run Code Online (Sandbox Code Playgroud)

我检查过滤器,他们没有问题.但是最后一行不起作用,所以我调用的所有子集化数据都返回了NA.哪里错了?谢谢.

编辑:嗨,谢谢大家的意见.我编辑了我的代码,所以它是可重复的.基本上我想首先过滤我raw.dataspp.然后,我可以继续按照加入更多的过滤器将它们分组site,grid,fate...等等.我需要能够单独访问过滤后的数据,以便我可以操作它们供以后使用,例如.计算不同性别或年龄组的体重和其他测量值.我希望能够打电话A.raw,A.Q.data后来.

因为我想分析不同级别的数据(例如人口级别,个人级别,站点/网格级别),并能够根据我的需要对其进行汇总/拆分.这就是这段代码的目的.希望我的解释不会让你感到困惑.

r subset assign

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

如何将js传单与Backbone js集成?

我正在尝试开发一个基于Backbone JS的应用程序.我想嵌入一个基于传单JS的OpenStreetMap地图,但我找不到任何教程.

javascript openstreetmap backbone.js leaflet

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

通过visual basic应用程序在unix服务器上执行命令

我需要帮助使用Visual Basic应用程序在Unix服务器上执行命令.我正在使用Visual Basic Express 2010.

PS我可以使用systems.net.sockets但不能发送命令来连接到服务器.

我愿意尝试任何不同的方法,我只需要知道如何做到这一点.

unix vb.net bash shell

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

没有指定格式的日期转换

我不明白来自库"lubridate"的"ymd"函数如何在R中工作.我正在尝试构建一个能够正确转换日期而无需指定格式的功能.我正在检查由于dmy(),mdy()和ymd()函数而发生的最小NA数.

所以ymd()有时会给出NA,有时不会给出相同的Date值.R中是否有其他功能或包,这将帮助我克服这个问题.

> data$DTTM[1:5]
[1] "4-Sep-06"  "27-Oct-06" "8-Jan-07"  "28-Jan-07" "5-Jan-07" 

> ymd(data$DTTM[1])
[1] NA
Warning message:
All formats failed to parse. No formats found. 
> ymd(data$DTTM[2])
[1] "2027-10-06 UTC"
> ymd(data$DTTM[3])
[1] NA
Warning message:
All formats failed to parse. No formats found. 
> ymd(data$DTTM[4])
[1] "2028-01-07 UTC"
> ymd(data$DTTM[5])
[1] NA
Warning message:
All formats failed to parse. No formats found. 
> 

> ymd(data$DTTM[1:5])
[1] "2004-09-06 UTC" "2027-10-06 UTC" "2008-01-07 UTC" "2028-01-07 UTC"
[5] "2005-01-07 UTC"
Run Code Online (Sandbox Code Playgroud)

谢谢

datetime r date-conversion lubridate

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

使用for for(){}和if(){} else {}有问题

下面的代码只返回结果:"d:/result.txt"中的"0 0".我已经显示了下面返回的同时错误.我的计划有什么问题?

for (i in 2:31)
{
if(i%%5=2)
{cat(i,1,"\n",append=TRUE,file="d:/result.txt")}
else{cat(0,0,"\n",append=TRUE,file="d:/result.txt")}
}

> for (i in 2:31)
+ {
+ if(i%%5=2){
 Error: unexpected '=' in:
 "{
 if(i%%5="
> cat(i,1,"\n",append=TRUE,file="d:/result.txt") 
Error in cat(i, 1, "\n", append = TRUE, file = "d:/result.txt") : 
object 'i' not found
> }
Error: unexpected '}' in "}"
> else    {
 Error: unexpected 'else' in "else"
>      cat(0,0,"\n",append=TRUE,file="d:/result.txt") 
> }
Error: unexpected '}' in "}"
 > }
 Error: unexpected '}' in "}"
Run Code Online (Sandbox Code Playgroud)

for-loop if-statement r

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

绘图错误 - if(nrow(layer_data)== 0)return()中的错误:参数长度为零

我正在运行一个R代码(不是我的代码),用于读取目录并绘制图表:

library(ggplot2)

dat <- at <- read.table(file="User/alexanderzamani/Documents/results.txt", 
                        sep = "\t", header= TRUE)

#let's just look at a single mutation rate
r <- dat[which(dat$u==0.00010),]

#now let's plot it out
p <- ggplot(r, aes(x=S, y=k, group=pN))
p + geom_line(aes(color=pN), size=2, alpha=0.5) + geom_point() +
    xlab("Overlapping generations (proportion of offspring that survive)") + 
    ylab("substitution rate") + 
    scale_colour_gradient(name="Degree of\npopulationsize\nfluctuation")
Run Code Online (Sandbox Code Playgroud)

安装后ggplot2,我运行代码,我显示一个空白的石英窗口,这个错误:

Error in if (nrow(layer_data) == 0) return() : argument is of length zero
Run Code Online (Sandbox Code Playgroud)

我没有R的经验,任何帮助将不胜感激.

- 编辑

这是我正在使用的上传.txt文件的链接 - http://txtup.co/NW6lU

r ggplot2

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

如何找到正数的数量

我是世界上的新人R,并且有一个相当简单的问题,但它让我很烦恼.

我有一大堆数字:

abc=rnorm(100, mean=0, sd=1)
Run Code Online (Sandbox Code Playgroud)

我想知道这些数字中有多少是积极的.我试过了:

length(which(abc>0) 
Run Code Online (Sandbox Code Playgroud)

但那没用.有什么建议?

r

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

包'twitterR'不可用(对于R版本3.1.0)

我是R.的初学者.当我下载twitterR包时,我收到了一条错误信息

将软件包安装到'/home/xxx/R/x86_64-pc-linux-gnu-library/3.1'(未指定'lib')install.packages中的警告:软件包'twitterR'不可用(对于R版本3.1. 0)

r

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

laply是R中包装的一部分?

laply 对于R是什么包的一部分?

我明白了:

 "Error: could not find function "laply"".
Run Code Online (Sandbox Code Playgroud)

谢谢.

r lapply

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