以下代码导致堆栈溢出但我不明白为什么......
int _tmain(int argc, _TCHAR* argv[])
{
cout << "start";
char bmp[1024][768][3];
for (int p = 0; p < 9000; ++p)
{
for(int i = 0; i < 1024; ++i)
{
for(int j = 0; j < 768; ++j)
{
bmp[i][j][0] = 20;
}
}
}
cout << "Stop";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
谢谢
我有一个矩阵,我想要将某些特定元素归零.
例如,假设我的矩阵是:
m <- matrix(1:100, ncol=10)
Run Code Online (Sandbox Code Playgroud)
然后我有两个向量指示要保留哪些元素
m.from <- c(2, 5, 4, 4, 6, 3, 1, 4, 2, 5)
m.to <- c(7, 9, 6, 8, 9, 5, 6, 8, 4, 8)
Run Code Online (Sandbox Code Playgroud)
因此,举例来说,我将第1行中的元素3:6保留,并将元素1:2和7:10设置为0.对于第2行,我将保持6:8,其余为零,依此类推.
现在,我可以轻松地做到:
for (line in 1:nrow(m))
{
m[line, 1:m.from[line]] <- 0
m[line, m.to[line]:ncol(m)] <- 0
}
Run Code Online (Sandbox Code Playgroud)
这给出了正确的结果.
然而,在我的特定情况下,我在~15000 x 3000矩阵上操作,这使得使用这种环路的时间非常长.
我怎样才能加快这段代码的速度?我虽然使用apply,但如何访问m.from和m.to的正确索引?
我有一个问题,理解情节中的col参数是如何工作的.
我们先来看看这个:
plot(collection[,"x"], collection[,"y"],
col=rainbow(21300)[order(collection[,"y"])],pch=".")
Run Code Online (Sandbox Code Playgroud)

颜色几乎与y轴对齐,但是并非完全对齐.
现在让我们这样做:
plot(collection[,"x"], collection[,"y"],
col=rainbow(21300)[order(collection[,"x"])],pch=".")
Run Code Online (Sandbox Code Playgroud)
我希望颜色从左到右渐变,因为我在与表示x轴的数据相同的数据上对它们进行了排序.
但不,这是一个完整的混乱.
那么它是怎样工作的?

让我们考虑这个简单的数据集
set.seed(12345)
df <- data.frame(a1 = rnorm(5), a2 = rnorm(5), a3 = rnorm(5),
b1 = rnorm(5), b2 = rnorm(5), b3 = rnorm(5),
c1 = rnorm(5), c2 = rnorm(5), c3 = rnorm(5))
Run Code Online (Sandbox Code Playgroud)
看起来像
a1 a2 a3 b1 b2 b3 c1 c2 c3
1 0.5855288 -1.8179560 -0.1162478 0.8168998 0.7796219 1.8050975 0.8118732 0.49118828 1.1285108
2 0.7094660 0.6300986 1.8173120 -0.8863575 1.4557851 -0.4816474 2.1968335 -0.32408658 -2.3803581
3 -0.1093033 -0.2761841 0.3706279 -0.3315776 -0.6443284 0.6203798 2.0491903 -1.66205024 -1.0602656
4 -0.4534972 -0.2841597 0.5202165 1.1207127 -1.5531374 0.6121235 1.6324456 1.76773385 …Run Code Online (Sandbox Code Playgroud) 我正试图通过Poppler及其(缺乏)文档.
我想做的是一个非常简单的事情:打开一个PDF文件并阅读其中的文本.我接下来要处理文本,但这并不重要.
所以...我看到了这个poppler_page_get_text功能,它有点工作,但我必须指定一个选择矩形,这不是很方便.是不是只有一个非常简单的函数可以按顺序输出PDF文本(可能是逐行?).
我正在尝试添加一个gtkProgressBar我为R脚本创建的小接口(使用该RGtk2包).
如果我做一些简单的事情,如:
for (i in 1:50)
{
gtkProgressBarSetFraction(progress, i/50)
Sys.sleep(1)
}
Run Code Online (Sandbox Code Playgroud)
一切顺利,酒吧每秒更新一次.
但是,当我转到我的实际代码时,我有一个循环,我做了类似的事情
for(i in 1:1000)
{
gtkProgressBarSetFraction(progress, i/1000)
#do some heavy computation here
}
Run Code Online (Sandbox Code Playgroud)
这里的问题是界面"冻结"并且进度条仅在循环结束时更新,因此完全击败其使用...
我在这里错过了什么吗?如何定期"唤醒"界面以使其刷新?
谢谢你尼科
编辑:好的,我解决了问题,但我仍然不明白发生了什么.我之后添加了一个Sys.sleep电话gtkProgressBarSetFraction,现在接口更新了.为了减少"浪费的时间",我刚才这样做了Sys.sleep(0.0001)(因此,对于1000个周期,我只有大约0.1-1秒的计算时间,这是可以接受的).任何人都可以解释为什么会这样?
我有一个闪亮的应用程序,其中包含一个服务器端选择输入和一长串(> 10k)的选择。我想在单击按钮时更新选择。这是一个可重现的例子
library(shiny)
ui <- fluidPage(
actionButton('buttonid','Button'),
selectizeInput("listid", "A long list", choices = NULL)
)
server <- function(input, output, session)
{
updateSelectizeInput(session, "listid", choices = paste("Item", 1:10000), server = T)
observeEvent(input$buttonid,
{
updateSelectizeInput(session, "listid", selected = "Item 1234")
})
}
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)
当我按下按钮时,上面的代码会导致一个空白的选择。但是,如果我搜索“Item 1234”,然后更改选择并按下按钮,现在该项目被选中。
此外,尝试在 Item 1 和 1000 之间选择一个项目不会出现问题,大概是因为一开始就加载了 1000 个项目。
这似乎类似于这个旧错误,但我不确定是否有解决方法https://github.com/rstudio/shiny/issues/1018
假设我有一个数据数组,
dat <- array(NA, c(115,45,10))
我怎样才能得到一个新的数据数组
dat1<- array(NA, c(115,45))通过dat第三维平均?
谢谢
我试图从格子包中制作一个水平图(也是显示轮廓线).我有几个问题(如下所述).
MyData:https: //www.dropbox.com/s/ht55g0qlkiou2x2/growth.matrix.stackoverflow.xlsx
require(lattice)
require(latticeExtra)
require(xlsx)
#matrix to be plotted
growth.matrix<-as.matrix(read.xlsx("C:/Users/eckmannm/Dropbox/growth.matrix.stackoverflow.xlsx",sheetName="p4.pct",colIndex=2:8,startRow=3,endRow=15,header=FALSE))
#column values
TempRange<-as.numeric(c(0, 2, 4, 6, 8, 10, 12))
#row values
MeanTemp<-as.numeric(c(6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18))
#x and y axis labels
x.range<-as.numeric(c(6, 8, 10, 12, 14, 16, 18))
#color ramp
col.l <- colorRampPalette(c('red', 'orange', 'yellow', 'green', 'cyan', 'blue'))
colorplot<-
levelplot(
growth.matrix,
row.values=(MeanTemp),
column.values=(TempRange),
col.regions=col.l,
at=seq(from=0,to=1.01,length=100),
lattice.options=list(key=list(cex=4)),
panel = panel.2dsmoother,
scales=list((x=list(labels=MeanTemp)), y=list(labels=TempRange)),
colorkey=list(at=as.numeric(factor(c(seq(from=0, to=1, by=.20)))),
labels=as.character(c( "0", "20%", "40%", "60%", …Run Code Online (Sandbox Code Playgroud) 我pheatmap()使用以下代码使用该函数创建热图:
library(pheatmap)
pheatmap((data_matrix[,1:11]), cluster_rows = F, cluster_cols = F, scale="none",
show_rownames=F, treeheight_row = F,
color=colorRampPalette(rev(c("red","white")))(50),
main="values", cex.main=1.2)
Run Code Online (Sandbox Code Playgroud)
我想在某些位置添加文字和线条以表示组和百分比。
abline()并且text()不工作,过度绘图我到目前为止还没有成功。
最好的方法是什么?
谢谢菲利普