Tag: r

如何使用ggplot2将R中的每个条形图放在geom_bar上

我发现了这个, 如何使用ggplot2将标签放在R中的geom_bar上 ,但是它只是把标签(数字)放在一个条上。 我们假设,每个x轴有两个小节,如何做同样的事情? 我的数据和代码如下所示: dat <- read.table(text = "sample Types Number sample1 A 3641 sample2 A 3119 sample1 B 15815 sample2 B 12334 sample1 C 2706 sample2 C 3147", header=TRUE) library(ggplot2) bar <- ggplot(data=dat, aes(x=Types, y=Number, fill=sample)) + geom_bar(position = 'dodge') + geom_text(aes(label=Number)) 那么,我们会得到: 数字文字似乎也被定位在“闪避”模式。 我search了geom_text手册来查找一些信息,但无法使其工作。 build议?

如何添加可变的键/值对列表对象?

我有两个variables, key和value ,我想将它们作为键/值对添加到列表中: key = "width" value = 32 mylist = list() mylist$key = value 结果是这样的: mylist # $key # [1] 32 但是我想代之以: mylist # $width # [1] 32 我怎样才能做到这一点?

如何用R中的向量元素来划分matrix的每一行

我想用一个固定的向量来划分matrix的每一行 。 例如 mat<-matrix(1,ncol=2,nrow=2,TRUE) dev<-c(5,10) 给mat/dev除mat/dev每个列 。 [,1] [,2] [1,] 0.2 0.2 [2,] 0.1 0.1 不过,我想这样做,即行操作: rbind(mat[1,]/dev, mat[2,]/dev) [,1] [,2] [1,] 0.2 0.1 [2,] 0.2 0.1 有明确的命令去那里?

在R编程中不允许重复'row.names'错误

我想加载一个有这样的14列的CSV文件: StartDate,var1,var2,var3,….,var14 当我发出这个命令: systems <- read.table("http://getfile.pl?test.csv", header=TRUE, sep=",") 我得到“重复的row.names是不允许的错误消息”。 在我看来,第一列名称是造成这个问题。 当我手动下载文件并从文件中删除StartDate名称时,R成功读取文件并用Xreplace第一个列名。有人可以告诉我发生了什么事吗? 该文件是一个逗号分隔的CSV文件。

R中的重复序列

这是一个非常基本的问题,但这令我烦恼,所以我问。 我需要一个重复的数字序列,即1 1 … 1 2 2 … 2 3 3 … 3等我执行这个的方式是 nyear<-20 names<-c(rep(1,nyear),rep(2,nyear),rep(3,nyear),rep(4,nyear), rep(5,nyear),rep(6,nyear),rep(7,nyear),rep(8,nyear)) 它工作,但笨拙,显然不能很好地扩展。 如何按顺序重复N次整数M次? 我尝试嵌套seq()和代表(),但没有完全做我想要的。 我明显可以写一个for循环来做这件事,但是这也看起来很笨拙 – 应该有一个内在的方法来做到这一点!

初始化data.frames()

有没有一个快速的方法来初始化一个空的数据框? 如果你知道尺寸是什么? 例如: 假设我想要一个有100行和10的空白数据框: x <- data.frame(1:100,2,3,4,5,6,7,8,9,10) dim(x) ## that's right 但是,我想要300列的东西? 如何快速初始化data.frame中的列? x <- data.frame(1:100,2,3,4,5 ….) ## *cries*

用自定义地图/ shp制作地图

在R,我想帮助试图在这里复制我自己的自定义SHP(Shapefile)文件或地图的教程是一个交互式的等值线地图… 地图是北爱尔兰的小地区。 这可以在这里find。 以下是我迄今采取的步骤… 我认为问题是geographyConfig数据的设置… 任何帮助将非常感激…. # Download and unzip the data system('wget http://www.nisra.gov.uk/archive/geography/digital_products/SA2011_Esri_Shapefile.zip') system('unzip SA2011_Esri_Shapefile.zip') # Load libraries library(rgdal) library(rgeos) library(rMaps) shp.file <- 'SA2011.shp' # Convert projection system(paste0('ogr2ogr tmp.shp ', shp.file, ' -t_srs "+proj=longlat +ellps=WGS84 +no_defs +towgs84=0,0,0"')) # Read in the data xx <- readOGR(dsn=getwd(),layer='tmp') mm <- xx@data head(mm) n <- nrow(mm) dat.val <- […]

更快的加权抽样无需更换

这个问题导致了一个新的R包: wrswoR R的默认采样无需使用sample.int进行replace,似乎需要二次运行时间,例如使用从均匀分布中抽取的权重。 对于大样本,这很慢。 有谁知道一个更快的实现,可以从R内使用 ? 两种select是“拒绝采样replace”(请参阅​​stats.sx上的这个问题 )和Wong和Easton(1980)的algorithm(在StackOverflow答案中使用Python实现)。 感谢Ben Bolker暗示在sample.int被调用replace=F和非均匀权重时被内部调用的C函数: ProbSampleNoReplace 。 实际上,代码显示了两个嵌套for循环( random.c )。 以下是根据经验分析运行时间的代码: library(plyr) sample.int.test <- function(n, p) { sample.int(2 * n, n, replace=F, prob=p); NULL } times <- ldply( 1:7, function(i) { n <- 1024 * (2 ** i) p <- runif(2 * n) data.frame( n=n, user=system.time(sample.int.test(n, p), gcFirst=T)['user.self']) }, .progress='text' […]

为什么unlist()在R中杀死date

当我列出一个date列表,它把他们变成数字。 这是正常的吗? 任何解决方法,而不是重新申请as.Date? > dd <- as.Date(c("2013-01-01", "2013-02-01", "2013-03-01")) > class(dd) [1] "Date" > unlist(dd) [1] "2013-01-01" "2013-02-01" "2013-03-01" > list(dd) [[1]] [1] "2013-01-01" "2013-02-01" "2013-03-01" > unlist(list(dd)) [1] 15706 15737 15765 这是一个错误?

R:S3和S4

我想在R中创build一个类,我应该使用S3还是S4类? 我读了很多关于他们的不同的东西,有一个比另一个更优越吗?