Questions tagged «r»

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

3
R应用具有多个参数的功能
我f(var1, var2)在R中有一个函数。假设我们已经设置好了var2 = 1,现在我想将该函数f()应用于列表L。基本上我想用输出获得一个新的列表L * [f(L[1],1),f(L[2],1),...,f(L[n],1)] 如何做到这一点无论使用哪种apply,mapply还是lapply?
128 r 


5
如何更改ggplot中的线宽?
数据链接:使用 的数据 我的代码: ccfsisims <- read.csv(file = "F:/Purdue University/RA_Position/PhD_ResearchandDissert/PhD_Draft/GTAP-CGE/GTAP_NewAggDatabase/NewFiles/GTAP_ConsIndex.csv", header=TRUE, sep=",", na.string="NA", dec=".", strip.white=TRUE) ccfsirsts <- as.data.frame(ccfsisims) ccfsirsts[6:24] <- sapply(ccfsirsts[6:24],as.numeric) ccfsirsts <- droplevels(ccfsirsts) ccfsirsts <- transform(ccfsirsts,sres=factor(sres,levels=unique(sres))) library(ggplot2) #------------------------------------------------------------------------------------------ #### Plot of food security index for Morocco and Turkey by sector #------------------------------------------------------------------------------------------ #_Code_Begin... datamortur <- melt(ccfsirsts[ccfsirsts$region %in% c("TUR","MAR"), ]) # Selecting …
127 r  ggplot2  line-plot 

6
如何从数据框中简洁地编写一个包含多个变量的公式?
假设我有一个响应变量和一个包含三个协变量的数据(作为玩具示例): y = c(1,4,6) d = data.frame(x1 = c(4,-1,3), x2 = c(3,9,8), x3 = c(4,-4,-2)) 我想对数据进行线性回归: fit = lm(y ~ d$x1 + d$x2 + d$y2) 有没有一种写公式的方法,这样我就不必写出每个协变量了?例如,类似 fit = lm(y ~ d) (我希望数据框中的每个变量都是协变量。)我问,因为我的数据框中实际上有50个变量,所以我想避免写出来x1 + x2 + x3 + etc。
127 r  dataframe  glm  lm 


3
R中的全局变量和局部变量
我是R的新手,我对R中使用局部变量和全局变量感到非常困惑。 我在互联网上读到一些帖子,说如果我使用=或<-我将在当前环境中分配变量,并且<<-可以在函数内部访问全局变量。 但是,正如我记得在C ++中,只要在方括号内声明变量{},局部变量就会出现,因此我想知道R是否相同?还是仅对于R 函数具有局部变量的概念。 我做了一个小实验,这似乎表明仅括号是不够的,我弄错了吗? { x=matrix(1:10,2,5) } print(x[2,2]) [1] 4
126 r 

8
散点图太多
我正在尝试绘制两个变量,其中N = 700K。问题是重叠太多,因此该图大部分变为黑色实心块。有什么办法可以使灰度图的暗度与区域中的点数成函数关系呢?换句话说,我不想显示单个点,而是希望该图成为一个“云”,一个区域中的点数越多,该区域越暗。
126 r  scatter-plot 

4
提取向量的第n个元素
我想创建一个向量,其中每个元素都是i+6th另一个向量的元素。 例如,在长度为120的向量中,我想创建另一个长度为20的向量,其中每个元素都是i, i+6, i+12, i+18...初始向量的值,即我想提取原始元素的第6个元素。
126 r  vector 

8
read.csv警告“带引号的字符串内的EOF”会阻止文件的完全读取
我有一个CSV文件(24.1 MB),无法完全读入R会话。当我在电子表格程序中打开文件时,我可以看到112,544行。当我用R将其读入R时,read.csv只会得到56,952行和以下警告: cit <- read.csv("citations.CSV", row.names = NULL, comment.char = "", header = TRUE, stringsAsFactors = FALSE, colClasses= "character", encoding= "utf-8") Warning message: In scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, : EOF within quoted string 我可以使用以下命令将整个文件读入R readLines: rl <- readLines(file("citations.CSV", encoding = "utf-8")) length(rl) [1] 112545 但是我无法将其作为表格返回到R中(通过read.csv): …
125 r  csv  eof  read.table 

8
如何从向量中删除多个值?
我有一个向量,例如:a = c(1:10),我需要删除多个值,例如:2, 3, 5 如何删除向量中的那些数字(它们不是向量中的位置)? 目前,我循环矢量并做类似的事情: a[!a=NUMBER_TO_REMOVE] 但是我认为有一个功能可以自动执行。
125 r 

3
按字符串键order(-x,v)的降序对data.table中的行进行排序在data.table 1.9.4或更早版本上给出错误
比方说,我有以下data.table的R: library(data.table) DT = data.table(x=rep(c("b","a","c"),each=3), y=c(1,3,6), v=1:9) 我想按两列(例如x和v)进行排序。我用这个: DT[order(x,v)] # sorts first by x then by v (both in ascending order) 但是现在,我想按x(降序)对其进行排序,并具有以下代码: DT[order(-x)] #Error in -x : invalid argument to unary operator 因此,我认为此错误是由于事实class(DT$x)=character。为了解决这个问题,您能给我什么建议吗? 我知道我可以使用DT[order(x,decreasing=TRUE)],但是我想知道语法同时使用两种方式(有些减少,有些增加)按几列排序。 请注意,如果使用DT[order(-y,v)]结果还可以,但是如果使用DT[order(-x,v)],则会出现错误。所以,我的问题是:如何解决这个错误?
125 r  string  sorting  data.table  key 

6
R中的“ S3方法”是什么意思?
由于我对R相当陌生,所以我不知道S3方法和对象是什么。我发现有S3和S4对象系统,有些建议尽可能使用S3而不是S4(请参阅http://google-styleguide.googlecode.com/svn/trunk/google-r-style上的 Google R样式指南。 html)*。但是,我不知道S3方法/对象的确切定义。 更新:从2019年开始,Google的R样式指南超链接现在位于此处。
124 r  oop  r-faq  r-s3  r-s4 

4
强制引入NA时如何避免警告
我通常更喜欢编码R,这样我就不会收到警告,但是我不知道如何在as.numeric用于转换字符向量时避免收到警告。 例如: x <- as.numeric(c("1", "2", "X")) 请给我一个警告,因为它以强制方式引入了NA。我要强制使用NA -是否有办法告诉它“是的,这就是我想要做的”。还是我应该只接受警告? 还是应该为此任务使用其他功能?
124 r  parsing  casting  na 

3
R中的ggplot2覆盖直方图
我是R的新手,正在尝试将3个直方图绘制到同一张图上。一切工作正常,但是我的问题是您看不到2个直方图重叠的地方-它们看起来很截断。 当我进行密度图绘制时,它看起来很完美:每条曲线都被黑色边框包围,在曲线重叠的地方颜色看起来不同。 有人可以告诉我第一张图片中的直方图是否可以实现类似的效果吗?这是我正在使用的代码: lowf0 <-read.csv (....) mediumf0 <-read.csv (....) highf0 <-read.csv(....) lowf0$utt<-'low f0' mediumf0$utt<-'medium f0' highf0$utt<-'high f0' histogram<-rbind(lowf0,mediumf0,highf0) ggplot(histogram, aes(f0, fill = utt)) + geom_histogram(alpha = 0.2)
124 r  ggplot2 

7
在不更改值顺序的情况下重新排序因子的级别
我有一些数字变量和一些分类factor变量的数据框。这些因素的水平顺序并不是我希望的那样。 numbers <- 1:4 letters <- factor(c("a", "b", "c", "d")) df <- data.frame(numbers, letters) df # numbers letters # 1 1 a # 2 2 b # 3 3 c # 4 4 d 如果我更改级别的顺序,字母将不再带有其相应的数字(从现在开始,我的数据完全是胡说八道了)。 levels(df$letters) <- c("d", "c", "b", "a") df # numbers letters # 1 1 d # …
124 r  levels 

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.