我可以控制的add.to.row命令xtable放置一个\footnote{}在LaTeX表输出头?
这是我走了多远.(我想找到一个使用xtable而不是'Hmisc' 的解决方案)
require(xtable)
x <- matrix(rnorm(60), ncol = 10)
x.big <- xtable(x,label='tabbig', caption='Example of longtable')
names(x.big) <- LETTERS[1:10]
print(x.big,tabular.environment='longtable',floating=FALSE,
add.to.row = list(pos = list(seq(1,nrow(x.big), by = 2), 0, 1),
command = c("\\rowcolor[gray]{.95} ", "\\hline \\endhead ",
"\\footnote{This is the first footnote that I would like to have
in the headder next to `I'.}") ) )
Run Code Online (Sandbox Code Playgroud)
然后我在小乳胶文件中使用输出.像这样:
\documentclass{article}
\usepackage{longtable}
\usepackage{colortbl}
\usepackage[landscape]{geometry}
\begin{document}
I
\vspace{100 mm}
% latex table generated in …Run Code Online (Sandbox Code Playgroud) 我想用x,y,z数据创建变量z的轮廓.但是,似乎我们需要按递增顺序提供数据.
我试图使用一些代码,但它给了我错误.
我尝试了以下代码:试用版1:
age2100 <- read.table("temp.csv",header=TRUE,sep=",")
x <- age2100$x
y <- age2100$y
z <- age2100$z
contour(x,y,z,add=TRUE,col="black")
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
Error in contour.default(x, y, z, add = TRUE, col = "black") : increasing 'x' and 'y' values expected
Run Code Online (Sandbox Code Playgroud)
然后我尝试使用ggplot2来创建轮廓.我使用了以下代码:
library("ggplot2")
library("MASS")
library("rgdal")
library("gpclib")
library("maptools")
age2100 <- read.table("temp.csv",header=TRUE,sep=",")
v <- ggplot(age2100, aes(age2100$x, age2100$y,z=age2100$z))+geom_contour()
v
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
警告信息:
Not possible to generate contour data
Run Code Online (Sandbox Code Playgroud)
请在以下位置找到数据https://www.dropbox.com/s/mg2bo4rcr6n3dks/temp.csv
谁能告诉我如何从temp.csv的第三个变量(z)创建轮廓数据?我需要多次这样做,所以我试图在R而不是Arcgis上做.
如果没有聚合列的中间计算,我怎样才能得到相同的图.
我有这些数据:
set.seed(1234)
dat <- data.frame(month = gl(3,1,20),
family= gl(5,1,20),
amount= sample(1:3,20,rep=TRUE))
Run Code Online (Sandbox Code Playgroud)
使用这段代码,我得到了一个条形图.每个条形图,是按家庭和按月计算的金额之和.首先,我创建了一个新的aggegate列V1.
## I am using data.table , you can get it by ddply also
library(data.table)
dd <- data.table(dat)
hh <- dd[,sum(amount),by=list(month,family)]
Run Code Online (Sandbox Code Playgroud)
然后我使用这段代码绘图:
ggplot(data=hh,aes(x=month,y=V1,fill=family))+
geom_bar(stat = "identity")
Run Code Online (Sandbox Code Playgroud)
得到这个情节:

这有效,但我想要更简单的方法.我认为使用stat_sum或其他ggplot2技术我可以在没有中间聚合步骤的情况下做到这一点.这样的事情:
## don't run this doesn't work
ggplot(data=dat,aes(x=month,y=amount,fill=family))+
geom_bar(stat = "sum")
Run Code Online (Sandbox Code Playgroud) 我正在绘制ggplot2中多个数据帧的数据,如下所示:
# subset of iris data
vdf = iris[which(iris$Species == "virginica"),]
# plot from iris and from vdf
ggplot(iris) +
geom_line(aes(x=Sepal.Width, y=Sepal.Length, colour=Species)) +
geom_line(aes(x=Sepal.Width, y=Sepal.Length), colour="gray", size=2,
data=vdf)
Run Code Online (Sandbox Code Playgroud)
图例colour仅包含条目iris,而不包括条目vdf.我怎样才能使ggplot2聚合成一个传说data=vdf,在这种情况下,它将是传说下面的灰线iris?谢谢.
我正在构建一个新包:
当我使用构建包时Rcmd INSTALL,compileAttributes在场景后面使用自动生成导出函数,
RcppExport SEXP my.package_rcppfunction(...)
Run Code Online (Sandbox Code Playgroud)
由于导出名称中的点,我收到编译错误:
RcppExports.cpp:10:19: error: expected initializer before '.' token
Run Code Online (Sandbox Code Playgroud)
作为一种解决方法,我可以更改包名称以从中删除点,但我想要更好的解决方案并了解如何导出符号.所以我的问题是:
我不知道这是否有帮助,但这里是我的g ++调用:
g++ -m32 -I"PATH_TO_R/R-30~1.2/include" -DNDEBUG -
I"PATH_To_R/3.0/Rcpp/include" -
I"d:/RCompile/CRANpkg/extralibs64/local/include"
-O2 -Wall -mtune=core2 -c RcppExports.cpp -o RcppExports.o
Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个栅格图(如hovmoller图)并希望有人可以提供帮助.我看过rasterVis和其他一些人的帮助,但似乎无法得到他们的例子来适应我的数据,这可能需要以某种方式改变我的想法.我已设法创建绘图,但单元格的填充值与原始数据不对应.我复制了一个我的数据框示例的dput()文件(希望这是正确的方法).我想要的是沿着x轴的一年中的几天(DOY),每个DOY上方有一个48个矩形轴(DF中的小时列).这些矩形代表每个DOY的半小时间隔,并根据它们对应的值(DF中的qc列)(0,1或2)进行着色.
到目前为止,我已经提出了以下代码,但是对于颜色分配z值(qc列)似乎存在问题,我认为由于某种原因,值没有正确排列...
mcol <- c("green","blue","red")
x=unique(DF[,"DOY"])
y=unique(DF[,"hour"])
z=matrix(DF[,"qc"],nrow=length(unique(DF[,"DOY"])),
ncol=length(unique(DF[,"hour"])))
image(x,y,z, col=mcol,
xlab="Day of Year 2012",
ylab="Hour of day",
main="Hovmoller plot of 2012 qc flags",
useRaster=TRUE)
Run Code Online (Sandbox Code Playgroud)
什么似乎是发生的是,填充值矩阵(Z)施加沿底部运行X轴第一(左到右),然后循环到顶部,而我需要它开始在左下角和上浮然后从左到右循环(希望这有点意义!)我的示例数据仅包括三天,但完整的数据集将是整整一年(2012年为366).在此先感谢您的帮助,
乔恩
structure(list(DOY = c(4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, …Run Code Online (Sandbox Code Playgroud) Matlab模糊逻辑工具箱,提出了模糊推理系统建模..是否存在所有工具箱的R等价物或某些R函数,如:
在R中读取和评估模糊系统?
大多数专业用户建议我永远不要在R中使用循环.请改用apply函数.问题是,如果您不熟悉函数式编程,那么为每个for/while循环编写一个应用等效项并不是那么直观.以下面的例子为例.
F <- data.frame(name = c("a", "b", "c", "d"), var1 = c(1,0,0,1), var2 = c(0,0,1,1),
var3 = c(1,1,1,1), clus = c("one", "two", "three", "four"))
F$ObjTrim <- ""
for (i in 1:nrow(F))
{
for (j in 2:(ncol(F)-1))
{
if(F[i, j] == 1)
{F$ObjTrim[i] <- paste(F$ObjTrim[i], colnames(F)[j], sep = " ") }
}
print(i)
}
Run Code Online (Sandbox Code Playgroud)
这里的目标是创建一个变量"ObjTrim",它接受所有具有值== 1的列名的值.有人可以建议一个等同于此的良好应用吗?
例如,上面的代码将给出:
name var1 var2 var3 clus ObjTrim
1 a 1 0 1 one var1 var3
2 b 0 0 1 two var3
3 c 0 …Run Code Online (Sandbox Code Playgroud) 如何为'i'变量X的所有可能排列生成二进制矩阵,其中"i"可以是1和无穷大之间的任何数字.结果矩阵将具有2 ^ i个唯一行.
对于i = 2,变量x1,x2各自的可能值为1或0,因此得到的矩阵将是:
X1 X2
0 0
0 1
1 0
1 1
Run Code Online (Sandbox Code Playgroud)
R中是否有任何函数可以生成?
我试过以下功能:
matrix(rbinom(160, 1, 0.5),ncol=5,nrow=(2^5))
Run Code Online (Sandbox Code Playgroud)
但结果并未显示所有可能的值.
我有一堆不同点的x和y坐标以及它所属的集群.如何绘制群集?以下是我正在使用的示例:
x-values y-values cluster
3 5 0
2 3 1
1 4 0
8 3 0
2 2 2
7 7 2
Run Code Online (Sandbox Code Playgroud)
如何将点的散点图绘制为"*"或"+"并为群集着色,使其看起来像:

注意我没有进行PCA分析.