Questions tagged «r»

R是一种免费的开源编程语言和软件环境,用于统计计算,生物信息学,可视化和通用计算。请提供最少且可复制的示例以及所需的输出。使用`dput()`作为数据,并通过`library()`调用指定所有非基本包。不要为数据或代码嵌入图片,而应使用缩进的代码块。对于统计相关的问题,请使用https://stats.stackexchange.com。

15
尝试将.csv文件读入R时出现“不完整的最后一行”警告
我正在尝试将.csv文件读入R并使用以下公式: pheasant<-read.table(file.choose(),header=TRUE,sep=",") 我收到此警告消息: "incomplete final line found by readTableHeader on 'C:\Documents and Settings..." 我认为可能有几件事导致了此警告,但是不幸的是,我对R的了解不足,无法自己诊断问题,因此我想在这里发布,希望其他人可以为我诊断出来! .csv文件最初是一个Excel文件,我将其保存为.csv格式 该文件包含三列数据 每个数据列的长度都不同,即,每个列中的值数量不同 我想一次比较两列的均值(使用t检验或等效项,取决于正态/非正态分布),例如,在第1列值和第2列值之间进行t检验,然后进行t-测试第1列和第3列的值,等等。 任何帮助或建议,将不胜感激!
114 r  line-endings  read.csv 

2
在data.table中设置键的目的是什么?
我正在使用data.table,并且有很多功能需要我设置一个键(例如X[Y])。因此,我希望了解键的作用,以便在数据表中正确设置键。 我读过的一个资料是 ?setkey。 setkey() 排序一个 data.table并将其标记为已排序。排序的列是关键。键可以是任何顺序的任何列。列始终按升序排序。该表通过引用进行了更改。除了临时的工作存储区(最大为一列)外,根本不进行任何复制。 我在这里的要点是,一个键会“排序” data.table,从而产生与 order()。但是,它没有解释拥有钥匙的目的。 data.table常见问题解答3.2和3.3说明: 3.2我没有大桌子上的钥匙,但是分组仍然非常快。这是为什么? data.table使用基数排序。这比其他排序算法快得多。基数仅用于整数,请参见 ?base::sort.list(x,method="radix")。这也是为什么setkey()快速的原因之一 。如果未设置任何键,或者我们按与键不同的顺序进行分组,则称其为临时。 3.3为什么键中的按列分组比临时按分组更快? 由于每个组在RAM中是连续的,因此可以最大程度地减少页获取,并且可以批量复制内存(memcpy在C中),而不是在C中循环。 从这里开始,我猜想通过设置密钥可以使R在其他算法上使用“基数排序”,这就是为什么它更快的原因。 10分钟快速入门指南还提供了按键指南。 按键 让我们从考虑data.frame开始,特别是行名(或者用英语,行名)。即,多个名称属于单个行。属于单行的多个名称?那不是我们在data.frame中所习惯的。我们知道每一行最多只有一个名称。一个人至少有两个名字,第一个名字和第二个名字。例如,这对于组织电话目录很有用,该电话目录按姓氏,然后按姓氏排序。但是,data.frame中的每一行只能有一个名称。 键由一行或多列行名组成,这些行名可以是整数,因子,字符或其他某些类,而不仅仅是字符。此外,行按键排序。因此,一个data.table最多可以具有一个键,因为它不能以一种以上的方式进行排序。 不强制唯一性,即允许重复的键值。由于行是按键排序的,因此键中的所有重复项将连续出现 电话簿有助于理解键是什么,但与具有factor列相比,键似乎没有什么不同。此外,它没有解释为什么需要一个键(尤其是使用某些功能)以及如何选择要设置为键的列。另外,似乎在以时间为列的data.table中,将任何其他列设置为键也可能会使时间列混乱,这使我更加困惑,因为我不知道是否允许将其他任何列设置为键。有人可以启发我吗?
113 r  data.table 

1
ggplot:如何增加多面图之间的间距?
我有几个刻面的直方图(通过下面的命令获得),它们很好地绘制在另一个下。我想增加它们之间的间隔,但是它们很紧。 我查看了该文档,但没有为此找到参数。 qplot (Happiness.Level, Number.of.Answers, data=mydata, geom="histogram") + facet_grid (Location ~ .)
113 r  ggplot2 

7
安排R脚本
我编写了一个R脚本,该脚本从数据库中提取一些数据,对该数据库执行一些操作,然后将输出发布到新数据库中。 我希望该脚本每天在特定时间运行,但是我找不到有效地执行此操作的任何方法。 谁能推荐我可以用来解决这个问题的资源?我正在Windows计算机上运行此脚本。
113 r  windows  schedule  r-faq 

5
删除除函数以外的所有变量
我已经在R控制台中加载了不同类型的对象。我可以使用删除它们 rm(list=ls()) 或仅使用删除函数(而不删除变量) rm(list=lsf.str()) 我的问题是:有没有办法删除除函数以外的所有变量
113 r  caching 

7
如何测试列表元素是否存在?
问题 我想测试列表中的元素是否存在,这是一个示例 foo <- list(a=1) exists('foo') TRUE #foo does exist exists('foo$a') FALSE #suggests that foo$a does not exist foo$a [1] 1 #but it does exist 在此示例中,我知道foo$a存在,但是测试返回FALSE。 我看了看,?exists发现with(foo, exists('a')退货了TRUE,但是不明白为什么exists('foo$a')退货FALSE。 问题 为什么要exists('foo$a')退货FALSE? 是否使用with(...)首选方法?
113 r 

3
如何删除ggplot2中轴与面积图之间的空间?
我有以下数据框: uniq <- structure(list(year = c(1986L, 1987L, 1991L, 1992L, 1993L, 1994L, 1995L, 1996L, 1997L, 1998L, 1999L, 2000L, 2001L, 2002L, 2003L, 2004L, 2005L, 2006L, 2007L, 2008L, 2009L, 2010L, 2011L, 2012L, 2013L, 2014L, 1986L, 1987L, 1991L, 1992L, 1993L, 1994L, 1995L, 1996L, 1997L, 1998L, 1999L, 2000L, 2001L, 2002L, 2003L, 2004L, 2005L, 2006L, 2007L, …
113 r  plot  ggplot2 

7
从Zoo :: yearmon对象中提取月份和年份
我有一个yearmon对象: require(zoo) date1 <- as.yearmon("Mar 2012", "%b %Y") class(date1) # [1] "yearmon" 如何从中提取月份和年份? month1 <- fn(date1) year1 <- fn(date1) 我应该用什么功能代替 fn()
112 r 


5
R帮助页面中的“不运行”是什么意思?
有时,在R帮助页面上,短语“未运行”会出现在注释中。从帮助页面中检查“ with()”: Examples require(stats); require(graphics) #examples from glm: **## Not run:** library(MASS) with(anorexia, { anorex.1 <- glm(Postwt ~ Prewt + Treat + offset(Prewt), family = gaussian) summary(anorex.1) }) ## End(**Not run**) 示例代码中的“不运行”是什么意思?
112 r 

1
R.exe,Rcmd.exe,Rscript.exe和Rterm.exe有什么区别?
我正在努力处理不同的R可执行文件。在批处理文件中运行命令行时,R.exe(带有或不带有CMD BATCH选项),Rcmd.exe,Rscript.exe和Rterm.exe到底有什么区别? 和之间有什么区别: R.exe --no-environ --no-save < "c:\temp\R\test.R" > "c:\temp\R\out.txt" 2>&1 和 R.exe CMD BATCH --no-environ --no-save "c:\temp\R\test.R" "c:\temp\R\out.txt" 输出无差异。 在3079页R参考手册中找不到关于Rcmd.exe和Rscript.exe的任何信息。 顺便说一句:我正在使用Windows。
112 r  executable  rgui  rterm 


2
在ggplot2中的堆叠条形图上显示数据值
我想在ggplot2的堆叠条形图中显示数据值。这是我尝试的代码 Year <- c(rep(c("2006-07", "2007-08", "2008-09", "2009-10"), each = 4)) Category <- c(rep(c("A", "B", "C", "D"), times = 4)) Frequency <- c(168, 259, 226, 340, 216, 431, 319, 368, 423, 645, 234, 685, 166, 467, 274, 251) Data <- data.frame(Year, Category, Frequency) library(ggplot2) p <- qplot(Year, Frequency, data = Data, …
112 r  graphics  ggplot2 

1
如何解释dplyr消息`summarise()`通过'x'重新组合输出(用.groups参数覆盖)?
更新到dplyr开发版本0.8.99.9003后,在运行group_by和summarise()时,我开始收到一条新消息(请参阅帖子标题)。 这是重新创建输出的示例: library(tidyverse) library(hablar) df <- read_csv("year, week, rat_house_females, rat_house_males, mouse_wild_females, mouse_wild_males 2018,10,1,1,1,1 2018,10,1,1,1,1 2018,11,2,2,2,2 2018,11,2,2,2,2 2019,10,3,3,3,3 2019,10,3,3,3,3 2019,11,4,4,4,4 2019,11,4,4,4,4") %>% convert(chr(year,week)) %>% mutate(total_rodents = rowSums(select_if(., is.numeric))) %>% convert(num(year,week)) %>% group_by(year,week) %>% summarise(average = mean(total_rodents)) 输出小标题正确,但是出现此消息: summarise()按“年”重新组织输出(用.groups参数覆盖) 应该如何解释?当我按年和周分组时,为什么只报告按“年”重新分组?另外,覆盖是什么意思,为什么我要这么做? 我不认为该消息表明存在问题,因为它出现在整个dplyr小插图中:https ://cran.r-project.org/web/packages/dplyr/vignettes/programming.html 我相信这是一条新消息,因为它仅出现在最近出现的SO问题中,例如如何使用dplyr融合pairwise.wilcox.test输出?和R聚合在多个列上(都没有解决重组/覆盖消息)。 谢谢!
112 r  dplyr  summarize 

4
在R中使用print()打印换行符
我正在尝试在R中打印多行消息。例如, print("File not supplied.\nUsage: ./program F=filename",quote=0) 我得到了输出 File not supplied.\nUsage: ./program F=filename 而不是期望的 File not supplied. Usage: ./program F=filename
111 r 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.