- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在努力创建一个小部件来使用 tcl/tk 在弹出窗口中查看表格。我正在关注这个例子:http://r.789695.n4.nabble.com/Tck-tk-help-td1837711.html
但是当我使用数据运行脚本时,最后一行数据不包含在数组中。以下是汽车数据的示例(表不显示行名称并不重要):
require(tcltk)
tclRequire("Tktable")
toTclArray<-function(dsn,dig=2) {
# http://r.789695.n4.nabble.com/Tck-tk-help-td1837711.html
# Converts Data Frame/Matrix to a Tcl Array for Use in Displaying Tables
# dsn is the data set name
# dig is the number of digits to round to
require(tcltk)
tclarray1<-tclArray()
for (i in 0:(dim(dsn)[1])) {
for (j in 0:(dim(dsn)[2]-1)) {
# First Row is Set to Column Names to be Used as Labels
if (i==0) {
tclarray1[[i,j]]<-colnames(dsn)[j+1]
} else {
tem<-dsn[i,j+1]
tclarray1[[i,j]]<-ifelse(is.na(tem),".",
ifelse(is.numeric(tem),round(tem,digits=dig),
as.character(tem)))
}
}
}
return (tclarray1)
}
temptable <- toTclArray(mtcars)
tt<-tktoplevel()
table1 <- tkwidget(tt,"table",variable=temptable,rows=dim(mtcars)[1],
cols=dim(mtcars)[2],titlerows=1,selectmode="extended",colwidth=10)
tkgrid(table1, pady = 20, padx = 30)
据我了解,在原始数据集中,第一行数据是第 1 行,第一列数据是第 1 列。在数组中,标题是第 0 行,第一行数据是第 1 行,并且数据的第一列是零列。在 for 循环中,它从行 (i) 0 到 32,列 (j) 0 到 10。这是有道理的,因为列从 1-11 移动到 0-10,但行不需要更改因为仍然有 32 行数据。因此,我无法弄清楚需要编辑代码中的哪些内容才能将最后一行数据添加到表中。
(我确信有一个很棒的包来运行此任务,但我正在为工作中的项目创建一个界面,并且我被指示不要使用任何不随基本 R 一起提供的包)
非常感谢任何帮助。谢谢!
最佳答案
这是一个非常简单的修复。您的函数看起来不错,但是您的小部件设置在向 tk 表分配行时忘记考虑标题行。只需添加 +1
就可以了:
tt<-tktoplevel()
table1 <- tkwidget(tt,"table",variable=temptable,rows=dim(mtcars)[1]+1,
cols=dim(mtcars)[2],titlerows=1,selectmode="extended",colwidth=10)
tkgrid(table1, pady = 20, padx = 30)
结果:
关于r - 在 R 中使用 tcltk 在弹出窗口(表格小部件)中显示数据 - 为什么它会删除最后一行数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32724775/
这可能很简单,当答案回来时我会畏缩,但我完全被难住了。我尝试过手册,尝试搜索网络,各种示例以及我能想到的任何其他内容。我还是卡住了。 我正在尝试为用户创建一个简单的输入以添加两个值,然后我可以在 R
我在这里使用了代码:http://www.sciviews.org/_rgui/tcltk/Radiobuttons.html向用户提问。 但 R 不会等待用户响应 - 代码会继续运行,因此任何尝试使
我正在尝试使用 tcltk 为 R 创建脚本小部件包裹。但我不知道如何创建一个停止按钮来中断来自小部件的脚本。基本上,我想要一个按钮、一个菜单选项和/或一个键绑定(bind)来中断当前脚本的执行,但我
我有一个很长的脚本来做一些数据分析,它必须连接到几个数据库。其中一个数据库往往比我喜欢的更频繁地更新我的密码,所以我想添加一个弹出框让我输入我当前的密码。我找到了这个例子,但不理解足够的 tcltk
我正在尝试为我的脚本制作非常简单的 GUI。简而言之,问题如下: dataset 是数据框,我想绘制一列作为时间并使用简单的 GUI 来选择下一列/上一列。 dataset <-data.frame(
TclTk 在 R 中运行良好,只是我可以在构建窗口时看到小部件被放置在窗口上。有没有办法隐藏窗口,并且只在构建后显示它?将以下内容粘贴到 R 中,您将看到窗口填满。那就是我不希望用户看到的(如果可能
tcltk 中的 winDialogString 相当于什么? 背景 我一直在用readline在 R 中,为了向用户提出问题并得到答复: response tkdialog(title='',
我有一个名为Fail的数据框。 我想将 Fail 以 CSV 格式保存在用户选择的位置。下面是我找到的一些示例代码,但我不知道如何将 Fail 合并到其中。 require(tcltk) fileNa
我目前正在编写我的第一个 Shiny 应用程序,但我在使用一些更微妙的用户界面功能时遇到了一些困难。我正在使用 tcltk 库导入一些简单的对话框,供用户选择本地目录和文件(该应用程序只会在本地运行,
我正在使用 RStudio 运行一些数据分析并想使用包 sqldf。一旦我需要这个包,我就会得到下面的输出: Loading required package: sqldf Loading requi
我有一个关于如何有效地将任何类型的外部包加载到 R 中的一般性问题。我发现许多详细说明此信息的来源根本不够,但我将省略提及这些相应的 URL。我之前已经成功地将外部包加载到 R 中,但是我在加载 fg
我有 Archlinux 并尝试运行 install.packages("zoo") 并收到以下错误消息: Error: .onLoad failed in loadNamespace() for '
我不知道我在做什么,但我需要在统计类(class)中使用 R 和 Rcmdr。我运行的是 OS X 10.7.5,R 使用 3.1.2。 我已经下载了R。 install.packages("Rcmd
我的问题类似于之前发布的一个问题,但从未真正在这里回答过: Disable GUI, graphics devices in R 我不喜欢 CRAN 镜像选择的 R tcltk 弹出窗口。在两个包中搜
我正在努力创建一个小部件来使用 tcl/tk 在弹出窗口中查看表格。我正在关注这个例子:http://r.789695.n4.nabble.com/Tck-tk-help-td1837711.html
我无法使用 Visual Studio 2017 (15.5.x) 编译 Tcl/Tk。 2010年到2013年的代码我都可以编译。 使用 msvc 2017 编译 tkStubLib.c 文件时出现
最近我在库包“adehabitat”时遇到了问题。我不知道我应该怎么做才能解决这个问题。任何人都可以知道并为我提供帮助吗?非常感谢。 > sessionInfo() R version 3.2.2 (
我是一名优秀的程序员,十分优秀!