至少在某些情况下,亚洲字符如果包含在a matrix或a中vector,则不可打印,但不包含在a中data.frame.这是一个例子
q<-'?'
q # Works
# [1] "?"
matrix(q) # Works
# [,1]
# [1,] "?"
q2<-data.frame(q,stringsAsFactors=FALSE)
q2 # Does not work
# q
# 1 <U+5929>
q2[1,] # Works again.
# [1] "?"
Run Code Online (Sandbox Code Playgroud)
显然,我的设备能够显示角色,但是当它在a中时data.frame,它不起作用.
做一些挖掘,我发现该print.data.frame函数format在每列上运行.事实证明,如果format.default直接运行,会出现同样的问题:
format(q)
# "<U+5929>"
Run Code Online (Sandbox Code Playgroud)
深入研究format.default,我发现它是format用C语言编写的.
在我进一步挖掘之前,我想知道其他人是否可以重现这种行为.是否有一些R配置允许我在data.frames中显示这些字符?
我的sessionInfo(),如果它有帮助:
R version 3.0.1 (2013-05-16)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_Canada.1252 LC_CTYPE=English_Canada.1252
[3] LC_MONETARY=English_Canada.1252 LC_NUMERIC=C
[5] …Run Code Online (Sandbox Code Playgroud) 如果max(x, na.rm = TRUE)在没有非NA值的情况下调用它,则会返回-Inf警告.但是,在某些情况下,summarise函数in dplyr不会返回警告:
library(magrittr)
library(dplyr)
df1 <- data.frame(a = c("a","b"), b = c(NA,NA))
df1 %>% group_by(a) %>% summarise(x = max(b, na.rm = TRUE))
# Three warnings, as expected.
df2 <- data.frame(a = c("a","b"), b = c(1,NA))
df2 %>% group_by(a) %>% summarise(x = max(b, na.rm = TRUE))
# No warning. Unexpected.
Run Code Online (Sandbox Code Playgroud)
有趣的是,如果我重命名该函数,我会得到预期的警告:
# Pointer to same function.
stat <- max
df1 <- data.frame(a = c("a","b"), b = c(NA,NA))
df1 %>% …Run Code Online (Sandbox Code Playgroud) 给出以下示例:
X <- matrix(nrow=3, ncol=3)
X[1,] <- c(0.3, 0.4, 0.45)
X[2,] <- c(0.3, 0.7, 0.65)
X[3,] <- c(0.3, 0.4, 0.45)
colnames(X)<-c(1.5, 3, 4)
rownames(X)<-c(1.5, 3, 4)
Run Code Online (Sandbox Code Playgroud)
heatmap(heatmap(X, Rowv=NA, Colv=NA, col=rev(heat.colors(256))))看起来像:

现在,假设轴上的变量是影响某些功能的参数,3和4之间的距离小于1和3之间的距离,我希望热图的单元尺寸能够反映这一点.如何制作热像图,其中单元格大小反映了已知数据的分辨率?
我在想一些看起来有点像这样的东西:

是否存在用于创建此类内容的库?如果不是,是因为我遗失了什么?如果是这样,什么?
我试图在R中编写一个简单的迭代重加权最小二乘算法.我想传递一个函数作为计算权重的参数,但遗憾的是R抱怨该函数无法找到.我有什么想法我做错了吗?提前致谢!
这是我的代码:
irls <- function(imodel, wfunc, tol) {
repeat {
b0 <- imodel$coef
imodel <- lm(formula(imodel), weights=wfunc(imodel), data=imodel$model)
b1 <- imodel$coef
if(abs((b1-b0)/b0)<=tol) break
}
imodel
}
Run Code Online (Sandbox Code Playgroud)
和一个愚蠢的例子来证明这个问题
x <- 1:100
y <- x + rnorm(100)
mlm <- lm(y~x-1)
irls(mlm, function(x){rep(1,length(x$fit))},0.001) # error: wfunc not found
Run Code Online (Sandbox Code Playgroud) 我有2张图,一张用ggplot2这样绘制的地图:
w<-ggplot()+
geom_polygon(data=dep_shp.df, aes(x=long,y=lat,group=group,fill=classJenks))+
# scale_fill_gradient(limits=c(40, 100))+
labs(title ="Classification de la proportion de producteurs par départements
\n par la methode de jenks (2008)")+
theme_bw()+
coord_equal()
Run Code Online (Sandbox Code Playgroud)
和图形类型的对象classIntervals 从classInt库.
我想把这两张图组合在一起.我试过了:
vplayout <- function(x, y) viewport(layout.pos.row = x, layout.pos.col = y)
grid.newpage()
pushViewport(viewport(layout = grid.layout(1, 2)))
#creation
print(u, vp = vplayout(1, 1))
print(v, vp = vplayout(1, 2))
Run Code Online (Sandbox Code Playgroud)
还有一些东西 grid.arrange
grid.arrange(plot1, plot2, ncol=2)
Run Code Online (Sandbox Code Playgroud)
但这些都不起作用.
通过这个ave功能,我找到了一条非凡的路线:
split(x, g) <- lapply(split(x, g), FUN) # From ave
Run Code Online (Sandbox Code Playgroud)
有趣的是,这条线改变了x我发现意外的价值.我希望这split(x,g)会产生一个列表,可以分配给,但之后丢弃.我的问题是,为什么x变化的价值?
另一个例子可能更好解释:
a <- data.frame(id=c(1,1,2,2), value=c(4,5,7,6))
# id value
# 1 1 4
# 2 1 5
# 3 2 7
# 4 2 6
split(a,a$id) # Split a row-wise by id into a list of size 2
# $`1`
# id value
# 1 1 4
# 2 1 5
# $`2`
# id value
# 3 2 7
# 4 …Run Code Online (Sandbox Code Playgroud) 当我执行multinom reg.我很难用Rmd和Knit HTLM(Rstudio)得到一个很好的总结.我想知道如何得到一个很好的总结,好像我使用stargazerLaTeX包...(参见printscreen)
摘要输出难以阅读!

总结很好,很容易与观星者阅读!

当我使用R开源时,如果不使用特定的包,则不可能处理大于RAM内存的数据集.所以我想知道是否有可能处理在PostgreSQL中应用PL/R函数的大数据集.
我没有找到任何关于此的文档.
以下是样本数据(大约8000行数据).如何使用适合其余数据的平滑样条曲线中的值替换所有NA?
Date Max Min Rain RHM RHE
4/24/1981 35.9 24.7 0.0 71 37
4/25/1981 36.8 22.8 0.0 62 40
4/26/1981 36.0 22.6 0.0 47 37
4/27/1981 35.1 24.2 0.0 51 39
4/28/1981 35.4 23.8 0.0 61 47
4/29/1981 35.4 25.1 0.0 67 43
4/30/1981 37.4 24.8 0.0 72 34
5/1/1981 NA NA NA NA NA
5/2/1981 39.0 25.3 NA NA 55
5/3/1981 35.9 23.0 0.0 68 66
5/4/1981 28.4 22.4 0.7 70 30
5/5/1981 35.5 24.6 0.0 47 31
5/6/1981 …Run Code Online (Sandbox Code Playgroud) 我在 imageJ 中编写了一个宏,它会输出一个数据框,然后在 R 中进行分析。我希望能够在 R 中运行整个过程,而不必先在 imageJ 中手动运行宏。目前宏提示用户输入和输出目录,然后做它的事情。我在想 R 中必须有一个函数可以让我指定宏以及输入和输出目录(然后我可以在宏中重新编码这些变量以某种方式通过 R 脚本获取这些参数?)
我认为我可以使用 system() 命令,并从网络上的其他地方找到了这个诱人的线索:
system("./JavaApplicationStub directory file[i] -batch zmacro")
Run Code Online (Sandbox Code Playgroud)
但我不确定如何实现这一点(我的宏已经使用了批处理,因此该部分是不必要的)。