小编And*_*rie的帖子

使用R xtable在乳胶表中的行之间添加水平线

我有这样的乳胶表生成代码示例

df<-data.frame(name=rep(letters[1:7],each=24),salary=runif(24*7,100,200))
lst<-tapply(df$salary,df$name,matrix,nrow=4,byrow=T)
xlst<-lapply(lst,xtable)
Run Code Online (Sandbox Code Playgroud)

现在我想在每个表中的每一行之后自动引入\ hdashline,并且在R代码之间的表之间还有一个\ vspace {2em} Wat我试过这个

for(i in seq_along(lst)){
  addtorow[i] <- list(pos = list(seq_len(nrow(lst[[i]])-1)),
                      command = "\\hdashline \n")
}
Run Code Online (Sandbox Code Playgroud)

扫描更改我需要进行循环..它适用于我申请单个表但不能在for循环中工作...任何帮助非常感谢...

latex r xtable

7
推荐指数
1
解决办法
6381
查看次数

在POSIXct中转换日期时间会给出错误的结果吗?

我正在从数据库中提取数据,并通过rehsape2运行结果.由于某些原因,这会将POSIXct日期时间戳记变为数字.没问题我想,除了我一小时外,你可以把它们拒之门外.

这是一个最小的例子

foo<-as.POSIXct("2011-04-04 14:18:58")
as.numeric(foo)     #gives 130192318
bar<-as.POSIXct(as.numeric(foo), 
                tz=Sys.timezone(),
                origin=as.POSIXct(
                  strptime("1970-01-01 00:00:00", "%Y-%m-%d %H:%M:%S", tz="UTC")))
as.numeric(bar)     #gives 130192318 identical !
foo     #Gives "2011-04-04 14:18:58 BST"
bar     #Gives "2011-04-04 13:18:58 UTC"
Run Code Online (Sandbox Code Playgroud)

显然foo和bar在数值上是相同的,但是R认为foo需要显示为BST并且显示为UTC.如何将两者显示为BST.这也不起作用;

as.POSIXct(bar, tz="BST")   #still gives "2011-04-04 13:18:58 UTC"
Run Code Online (Sandbox Code Playgroud)

time r

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

绘制R图中的交互

我有以下类型的数据(虽然数据点的数量非常大)

# property data
name <- c("A", "B", "C", "D")
diameter <- c(4.3, 8.3,1.2, 3.3)
X <- c( 1, 2, 3, 4)
Y <- c(1, 3, 3, 4)
colr <- c(10, 20, 34, 12)
propdata <- data.frame (name, diameter, X, Y, colr)


# interaction data
name1 <- c("A", "A", "A", "B", "B")
name2 <- c("B", "C", "D", "C", "D")
score <- c(1.1, 2.2, 5.4, 3.1, 2.0)
relation <- data.frame (name1, name2, score)
Run Code Online (Sandbox Code Playgroud)

我想创建一个类似于以下的图形,以便它具有以下属性.

(

1) diameter of circles is governed …
Run Code Online (Sandbox Code Playgroud)

interaction r graph ggplot2 lattice

7
推荐指数
1
解决办法
1009
查看次数

将exp/power趋势线添加到ggplot

我想在我的情节中添加指数(+幂)(趋势)线.我正在使用ggplot2包.

我有这样的东西(只是有更多的数据):

require(ggplot2)

df <-read.table("test.csv", header = TRUE, sep = ",")
df
    meta temp
1  1.283    6
2  0.642    6
3  1.962    6
4  8.989   25
5  8.721   25
6 12.175   25
7 11.676   32
8 12.131   32
9 11.576   32

ggplot(df, aes(temp, meta)) + 
    ylab("Metabolism") + xlab("Temperature") +
    geom_point() + 
    theme_bw() + 
    scale_x_continuous(limits = c(0, 35)) + 
    scale_y_log10()
Run Code Online (Sandbox Code Playgroud)

我知道这应该用指数函数来表达 - 所以我的问题是我如何能够以最好的'指数'拟合?同样,是否也可以进行功率拟合?

stat_smooth()函数是否有这个机会,或者ggplot2我应该使用的包中还有其他功能吗?

r ggplot2

7
推荐指数
1
解决办法
6863
查看次数

如何使用列名和行名将Excel数据导入到R中

我是R新手,想知道如何使用行名和列名将Excel数据导入到R中.具体来说,我需要一个excel文件中的许多工作表中的数据子集.我可以使用行名和列名来识别和提取某些数据单元到R吗?

Worksheet 1
----------
* X Y Z 
A 1 2 2
B 1 1 1
C 1 3 4
D 4 2 2
E 2 2 2 
----------
Worksheet 2
----------
*  X Y1 Z1 
A 1  2  2
B 1  2  3
C 1  3  4
D 4  1  1
E 2  1  1 
Run Code Online (Sandbox Code Playgroud)

例如,在上述的电子表格我怎么能提取数据(2,2,2,2)在工作表1使用行和列名(d,Y)(d,Z)(E,Y)(E,Z)

如何使用工作表2中的行和列名称(D,Y1)(D,Z1)(E,Y1)(E,Z1)提取数据(1,1,1,1)?

感谢您提供的任何帮助

巴里

import excel r

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

使用ggplot在图例中包含所有图层

如何制作代表我的图表中绘制的所有曲线的图例?目前,为第一层生成自动图例(基于"颜色"美学),而在该图例中未包含另一层(表示所有观察中"价格"变量密度的黑色曲线).

我认为我的问题肯定来自于对ggplot包的概念的不完全理解.

ggplot(diamonds) + 
  geom_density(aes(x = price, y = ..density.., colour = cut)) +
  geom_density(aes(x = price,y = ..density..))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r legend ggplot2

7
推荐指数
1
解决办法
1633
查看次数

将日期和时间组合到日期列中以进行绘图

我想创建一个线图.我的数据框中有3列:

date        time   numbers
01-02-2010  14:57  5
01-02-2010  23:23  7
02-02-2010  05:05  3
02-02-2010  10:23  11
Run Code Online (Sandbox Code Playgroud)

如何组合前两列并根据日期和时间制作图表?Date是Date类,time只是一个char变量.

plot r

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

如何为建议的包编写单元测试?

R中的包可以在其他包上具有不同类型的依赖关系.有些类型的指示硬要求,即Depends,ImportsLinkingTo.

然而,还有第二类表明依赖性较弱,即SuggestsEnhances.在这两种情况下,如果建议/增强包可用,则包提供附加功能.

这是一个具体的例子:包checkpoint导入knitr因为knitr有助于checkpoint解析rmarkdown文件.

但现在我正在考虑更改knitrSuggests依赖项,即仅knitr在实际安装时才提供此功能.

对于正确的单元测试,这意味着我必须测试两种情况:

  1. 如果knitr可以,那就去做吧.
  2. 如果knitr提供,则抛出一个警告,什么也不做.

实际的R代码很简单:

if(require(knitr)) {
  do_stuff()
} else {
  message("blah")
}
Run Code Online (Sandbox Code Playgroud)

但是,如何为这两种方案设置单元测试?

我看到它的方式,检查的简单事实require(knitr)将加载knitr包,如果它在本地库中可用.

因此,为了测试案例1,我必须在knitr本地安装,这意味着我无法测试案例2.

有没有testthat为这个用例配置(或任何其他单元测试框架)的方法?

r testthat

7
推荐指数
1
解决办法
282
查看次数

为什么矩阵中的双/数值通过使用%in%范围返回错误的答案?

我发现整数和双值在矩阵中表现不同,只有双数据类型返回错误答案.

#Test
m <- matrix(1:12,4,3)
which(!m[1,] %in% 1:5)

which(!m[1,] %in% 1:5)
[1] 3
Run Code Online (Sandbox Code Playgroud)

但是,当我更改double/numeric中的值时,

m <- matrix(c(0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6), 4,3)
which(!m[1,] %in% 0.10:0.35)

   [,1] [,2] [,3]
[1,]  0.1  0.5  0.3
[2,]  0.2  0.6  0.4
[3,]  0.3  0.1  0.5
[4,]  0.4  0.2  0.6

which(!m[1,] %in% 0.10:0.35)
[1] 2 3
Run Code Online (Sandbox Code Playgroud)

只有2应该在答案中,因为1,3在0.10到0.35的范围内,为什么它在使用整数和数字的计算中是不同的.谢谢!

r

6
推荐指数
1
解决办法
612
查看次数

将图像添加到R中的表格式输出

我有一个简单的数据结构:案例是国家,每个国家我有几个数字变量.像这样:

dat <- data.frame(country = c("Belgium", "Germany", "Holland", "Ireland"), Var1 = 1:4, Var2 = 11:14)
print(dat, row.names = FALSE)

 country Var1 Var2
 Belgium    1   11
 Germany    2   12
 Holland    3   13
 Ireland    4   14
Run Code Online (Sandbox Code Playgroud)

该表格需要格式化,标题为粗体,行颜色为灰色或白色,交替显示.

现在,我想要的是在"country"和"Var1"之间添加两个额外的列.第一个新列称为"标志",应包含国家/地区的标志.第二个新专栏被称为"被标记",其中包含一个红旗的图像,该国家在特定的人权问题上得分非常糟糕,如果得分平庸则没有其他方面的橙旗.

如何在R中创建一个以这种方式打印的对象?如何在这种布局中将图像与数据相结合?

(最终这将是创建的更大文档的一部分knitr)

r dataframe knitr

6
推荐指数
1
解决办法
4723
查看次数

标签 统计

r ×10

ggplot2 ×3

dataframe ×1

excel ×1

graph ×1

import ×1

interaction ×1

knitr ×1

latex ×1

lattice ×1

legend ×1

plot ×1

testthat ×1

time ×1

xtable ×1