小编Ric*_*mos的帖子

pandoc文档转换失败,错误43:pdflatex:找不到内存转储文件

RStudio:0.98.994操作系统:Microsoft Windows 7旗舰版,64位Service Pack 1 MiKTeX:2.9.4503

嗨,

当我尝试编织PDF文档时出现以下错误.

pandoc.exe:从TeX源生成PDF时出错.这是pdfTeX,版本3.1415926-1.40.11(MiKTeX 2.9)pdflatex:找不到内存转储文件.pdflatex:数据:pdflatex.fmt

pandoc rstudio

41
推荐指数
4
解决办法
7万
查看次数

如何编辑和调试R库源

我在我的R脚本中包含了一个名为blotter的库,里面有一个bug.我是否有一种简单的方法来编辑源代码以尝试调试问题?

debugging r

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

读取水平组织的CSV文件

在R中,是否有类似函数read.csv读取文件,其中标题位于左侧(或右侧)而不是顶部,数据是从左到右组织的?

所以数据看起来像:

var1,1,2,3,4,5
Run Code Online (Sandbox Code Playgroud)

看看文档,read.tableread.csv没有似乎突然出现.我看到使用这些函数的最佳选择是使用read.table然后构造另一个表,其列是原始数据的行,依此类推.

csv r read.table

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

ggplot:为连续x的每个组排列多个y变量的箱线图

我想为连续x变量的组创建多个变量的箱线图.对于每组x,箱形图应该彼此相邻排列.

数据如下所示:

require (ggplot2)
require (plyr)
library(reshape2)

set.seed(1234)
x   <- rnorm(100)
y.1 <- rnorm(100)
y.2 <- rnorm(100)
y.3 <- rnorm(100)
y.4 <- rnorm(100)

df <- as.data.frame(cbind(x,y.1,y.2,y.3,y.4))
Run Code Online (Sandbox Code Playgroud)

然后我融化了

dfmelt <- melt(df, measure.vars=2:5)    
Run Code Online (Sandbox Code Playgroud)

这个解决方案 中显示的facet_wrap(ggplot(facets)中的因子多个绘图)给出了单个图中的每个变量,但是我希望每个变量的箱形图彼此相邻,每个x的bin都在一个图.

ggplot(dfmelt, aes(value, x, group = round_any(x, 0.5), fill=variable))+
geom_boxplot() + 
geom_jitter() + 
facet_wrap(~variable)
Run Code Online (Sandbox Code Playgroud)

图.1

这显示了y变量彼此相邻但不是bin x.

ggplot(dfmelt) +
geom_boxplot(aes(x=x,y=value,fill=variable))+
facet_grid(~variable)
Run Code Online (Sandbox Code Playgroud)

fig2

现在我想为x的每个bin生成这样的图.

什么必须改变或添加?

r continuous ggplot2 boxplot r-factor

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

在R中,负指数有什么作用?

我正在从R到C++移植程序的一部分(不足以编译和运行).我不熟悉R.我在网上使用这些参考文章已经做得很好,但被以下行难倒:

cnt2.2<-cnt2[,-1]
Run Code Online (Sandbox Code Playgroud)

我在猜测:

  1. cnt2 是一个二维矩阵
  2. cnt2.2是一个用句点''声明的新变量.使用与字母字符相同的方式.
  3. <- 是一项任务.
  4. [,-1]访问数组的一部分.我以为[,5]所有行都是第5列.如果这是正确的,我不知道-1指的是什么.

indexing syntax r matrix-indexing

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

如何在不添加"Row.names"列的情况下按行名合并数据帧?

如果我有两个数据框,例如:

df1 = data.frame(x=1:3,y=1:3,row.names=c('r1','r2','r3'))
df2 = data.frame(z=5:7,row.names=c('r5','r6','r7'))
Run Code Online (Sandbox Code Playgroud)

(

R> df1
   x y
r1 1 1
r2 2 2
r3 3 3

R> df2
   z
r5 5
r6 6
r7 7
Run Code Online (Sandbox Code Playgroud)

),我想通过行名称合并它们,保留所有内容(所以外连接,或全部= T).这样做:

merged.df <- merge(df1,df2,all=T,by='row.names')
R> merged.df
  Row.names  x  y  z
1        r1  1  1 NA
2        r2  2  2 NA
3        r3  3  3 NA
4        r5 NA NA  5
5        r6 NA NA  6
6        r7 NA NA  7
Run Code Online (Sandbox Code Playgroud)

但我希望输入行名称是输出数据框(merged.df)中的行名称.

我可以:

rownames(merged.df) <- merged.df[[1]]
merged.df <- merged.df[-1]
Run Code Online (Sandbox Code Playgroud)

这有效,但似乎不优雅,难以记住.有人知道更清洁的方式吗?

merge r dataframe

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

如何将na.rm作为参数传递给tapply?

我想从一个数据帧计算mean和sd,参数为一列,组标识为一列.使用时如何计算tapply?我可以使用sd(v1, group, na.rm=TRUE),但na.rm=TRUE在使用时不适合语句tapply. omit.na别无选择.我有一大堆参数,在排除所有缺少值的行时,必须逐步完成它们而不会丢失一半的数据帧.

data("weightgain", package = "HSAUR")
tapply(weightgain$weightgain, list(weightgain$source, weightgain$type), mean)
Run Code Online (Sandbox Code Playgroud)

by声明也是如此.

x<-c(1,2,3,4,5,6,7,8,9,NA)
y<-c(2,3,NA,3,4,NA,2,3,NA,2)
group<-rep((factor(LETTERS[1:2])),5)
df<-data.frame(x,y,group)
df

by(df$x,df$group,summary)
by(df$x,df$group,mean)

sd(df$x) #result: NA
sd(df$x, na.rm=TRUE) #result: 2.738613
Run Code Online (Sandbox Code Playgroud)

有任何想法如何完成这项工作?

r tapply na.rm

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

从心理包中的主函数中提取输出作为数据帧

当我使用主函数时,就像在下面的代码中一样,我得到一个很好的表格,它给出了所有标准化的加载,以及一个表格,其中包含特征值以及比例和累积比例.

rotatedpca <- principal(PCFdataset, nfactors = 8, rotate = "varimax", scores = T)
Run Code Online (Sandbox Code Playgroud)

我想将此输出导出到excel文件(使用WriteXLS),但我只能对数据帧执行此操作,而rotatepca不是数据帧,并且不能强制转换为它看起来的数据帧.我可以使用以下代码提取标准化加载:

loadings<-as.data.frame(unclass(rotatedpca$loadings))
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚当我简单地调用主函数时,如何访问通常显示的其他信息,特别是特征值以及解释的比例和累积方差.我尝试了rotatecpa $值,但是返回看起来像所有12个原始变量的特征值作为没有旋转的因子,我不明白.而且我甚至无法找出任何方法来尝试提取方差解释值.我怎样才能简单地创建一个看起来像我从主函数得到的R输出的数据帧?

                       RC2  RC3  RC8  RC1  RC4  RC5  RC6  RC7
SS loadings           1.52 1.50 1.45 1.44 1.01 1.00 0.99 0.98
Proportion Var        0.13 0.12 0.12 0.12 0.08 0.08 0.08 0.08
Cumulative Var        0.13 0.25 0.37 0.49 0.58 0.66 0.74 0.82
Proportion Explained  0.15 0.15 0.15 0.15 0.10 0.10 0.10 0.10
Cumulative Proportion 0.15 0.31 0.45 0.60 0.70 0.80 0.90 1.00
Run Code Online (Sandbox Code Playgroud)

感谢您阅读我的帖子!

excel r export-to-excel

11
推荐指数
2
解决办法
2984
查看次数

使用na.rm = TRUE时会删除NaN

这个可重复的示例是我的代码的一个非常简化的版本:

x <- c(NaN, 2, 3)

#This is fine, as expected
max(x)
> NaN

#Why does na.rm remove NaN?
max(x, na.rm=TRUE) 
> 3
Run Code Online (Sandbox Code Playgroud)

对我来说,NA(缺失值)和NaN(不是数字)是两个完全不同的实体,为什么na.rm删除NaN?我怎么能忽视NA而不是NaN

ps:我在Windows7上使用的是64位R版本3.0.0.

编辑: 经过一些研究,我发现is.na返回也是真的NaN!这是我迷茫的原因.

is.na(NaN)
> TRUE
Run Code Online (Sandbox Code Playgroud)

r nan na na.rm

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

在3d黄土平滑上设置0的上限,在R中使用负值

我有一个奇怪的问题,但希望有人可以帮助我.我试图创建一个湖底的表面图,然后添加一些显示植物频率的点,以便了解整个湖泊中水生植物的位置.

现在我正在使用分别在R中的scatterplot3d和网格包在scatterplot3d和wireframe中创建表面图.为了实现我感兴趣的图表类型,我已将深度转换为负值(想象一下湖的水面在z轴上为0),然后通过纬度和经度坐标创建一个深度的黄土模型.然而,我遇到的一个问题是黄土模型预测正深度(当然,在湖中是不可能的;人们只能从深度0进入水柱).

x <- seq(1,100,1)
y <- seq(1,100,1)
depth <- rbeta(100, 1, 50)*100
depth <- -depth

dep.lo <- loess(depth~x*y, degree=2, span=.25) # this shows a big warning, but it works
coord.fit <- expand.grid(x=x, y=y)
coord.fit$depth <- as.numeric(predict(dep.lo, newdata=coord.fit))
range(coord.fit$depth)
  # -14.041011   6.986745
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我的深度从-14到接近7.有没有办法在黄土模型上设置上限,这样我的模型就不会达到这些正值?

谢谢你的帮助,
保罗

interpolation regression r prediction loess

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