Questions tagged «r»

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

7
在R函数中指定可选参数的“正确”方法
我对在R中使用可选参数编​​写函数的“正确”方式感兴趣。随着时间的流逝,我偶然发现了几条采用不同方法的代码,而我找不到合适的(正式)位置关于这个话题。 到目前为止,我已经编写了如下可选参数: fooBar <- function(x,y=NULL){ if(!is.null(y)) x <- x+y return(x) } fooBar(3) # 3 fooBar(3,1.5) # 4.5 如果仅x提供该函数,则仅返回其参数。它对NULL第二个参数使用默认值,如果该参数恰好不是NULL,则函数将两个数字相加。 或者,可以这样编写函数(其中第二个参数需要通过名称指定,但也可以unlist(z)或定义z <- sum(...)): fooBar <- function(x,...){ z <- list(...) if(!is.null(z$y)) x <- x+z$y return(x) } fooBar(3) # 3 fooBar(3,y=1.5) # 4.5 我个人更喜欢第一个版本。但是,我可以同时看到好与坏。第一个版本不太容易出错,但是第二个版本可用于合并任意数量的可选对象。 有没有一种“正确的”方法来在R中指定可选参数?到目前为止,我已经确定了第一种方法,但是两者有时都可能会感到有些“ hacky”。
165 r  function 

29
会话未创建:此版本的ChromeDriver仅支持ChromeDriver出现Chrome 74版本错误,Chrome浏览器使用Selenium
我正在尝试使用rsDriver函数运行RSelenium,但是当我运行时,出现 rD <- rsDriver() 一条消息告诉我我需要更新版本的Chrome: > rD <- rsDriver() checking Selenium Server versions: BEGIN: PREDOWNLOAD BEGIN: DOWNLOAD BEGIN: POSTDOWNLOAD checking chromedriver versions: BEGIN: PREDOWNLOAD BEGIN: DOWNLOAD BEGIN: POSTDOWNLOAD checking geckodriver versions: BEGIN: PREDOWNLOAD BEGIN: DOWNLOAD BEGIN: POSTDOWNLOAD checking phantomjs versions: BEGIN: PREDOWNLOAD BEGIN: DOWNLOAD BEGIN: POSTDOWNLOAD [1] "Connecting to remote …

7
为数据框中的组内的行编号
使用类似于以下内容的数据框: set.seed(100) df <- data.frame(cat = c(rep("aaa", 5), rep("bbb", 5), rep("ccc", 5)), val = runif(15)) df <- df[order(df$cat, df$val), ] df cat val 1 aaa 0.05638315 2 aaa 0.25767250 3 aaa 0.30776611 4 aaa 0.46854928 5 aaa 0.55232243 6 bbb 0.17026205 7 bbb 0.37032054 8 bbb 0.48377074 9 bbb 0.54655860 …
163 r  dataframe  r-faq 

7
从宽格式到长格式重塑data.frame
我很难将我data.frame的桌子从宽桌变成长桌。目前看起来像这样: Code Country 1950 1951 1952 1953 1954 AFG Afghanistan 20,249 21,352 22,532 23,557 24,555 ALB Albania 8,097 8,986 10,058 11,123 12,246 现在我想把它变data.frame长data.frame。像这样: Code Country Year Value AFG Afghanistan 1950 20,249 AFG Afghanistan 1951 21,352 AFG Afghanistan 1952 22,532 AFG Afghanistan 1953 23,557 AFG Afghanistan 1954 24,555 ALB Albania 1950 …
163 r  dataframe  reshape  r-faq 

11
将data.frame列转换为向量?
我有一个数据框,例如: a1 = c(1, 2, 3, 4, 5) a2 = c(6, 7, 8, 9, 10) a3 = c(11, 12, 13, 14, 15) aframe = data.frame(a1, a2, a3) 我尝试了以下将列之一转换为向量的方法,但是它不起作用: avector <- as.vector(aframe['a2']) class(avector) [1] "data.frame" 这是我唯一能想到的解决方案,但我假设必须有一种更好的方法来做到这一点: class(aframe['a2']) [1] "data.frame" avector = c() for(atmp in aframe['a2']) { avector <- atmp } class(avector) …

12
在FUN中访问lapply索引名称
有没有办法在我的lapply()函数中获取列表索引名称? n = names(mylist) lapply(mylist, function(list.elem) { cat("What is the name of this list element?\n" }) 我之前询问过是否可以在返回的lapply()列表中保留索引名称,但是我仍然不知道是否有一种简单的方法来获取自定义函数中的每个元素名称。我想避免对名称本身调用lapply,我宁愿在函数参数中获取名称。
162 r  lapply  names  indices 

14
安装devtools软件包时出现问题
我希望使用该devtools包装。我运行了以下命令: > install.packages("devtools", dependencies = TRUE) .... > library(devtools) Error in library(devtools) : there is no package called ‘devtools’ 我究竟做错了什么? 编辑:这是重新install.packages启动会话后重新运行命令的结果。 > install.packages("devtools", dependencies = TRUE) Installing package into ‘/home/evanaad/R/x86_64-pc-linux-gnu-library/3.0’ (as ‘lib’ is unspecified) --- Please select a CRAN mirror for use in this session --- Warning: dependencies ‘roxygen2’, ‘BiocInstaller’, …
162 r  package  devtools 

11
如何组织大型R程序?
当我进行任何复杂的R项目时,我的脚本很快就会变得冗长而混乱。 我可以采用哪些实践来使我的代码始终令人愉快?我在考虑类似 函数在源文件中的放置 何时将内容分解到另一个源文件 主文件中应包含什么 将功能用作组织单位(鉴于R使其难以访问全局状态,这是否值得) 缩进/换行的做法。 对待(如{? 将}}之类的内容放在1或2行上? 基本上,组织大型R脚本的经验法则是什么?

10
如何仅从工作空间中清除一些特定对象?
我想从工作区中删除一些数据。我知道“全部清除”按钮将删除所有数据。但是,我只想删除某些数据。 例如,我在数据部分中具有以下数据帧: data data_1 data_2 data_3 我想删除data_1,data_2并data_3同时保留data。 我尝试过data_1 <- data_2 <- data_3 <- NULL,它确实删除了数据(我认为),但仍将其保留在工作区中,因此它并不是我想要的全部功能。
161 r 

13
比较两个data.frame以找到data.frame 1中不存在的行data.frame 2
我有以下2个data.frames: a1 <- data.frame(a = 1:5, b=letters[1:5]) a2 <- data.frame(a = 1:3, b=letters[1:3]) 我想找到a1没有的行。 是否有针对此类操作的内置功能? (ps:我确实为此写了一个解决方案,我只是很好奇是否有人已经编写了更完善的代码) 这是我的解决方案: a1 <- data.frame(a = 1:5, b=letters[1:5]) a2 <- data.frame(a = 1:3, b=letters[1:3]) rows.in.a1.that.are.not.in.a2 <- function(a1,a2) { a1.vec <- apply(a1, 1, paste, collapse = "") a2.vec <- apply(a2, 1, paste, collapse = "") a1.without.a2.rows …
161 r  merge  compare  rows  dataframe 

6
如何防止ifelse()将Date对象转换为数字对象
我正在使用该函数ifelse()来操纵日期向量。我期望结果是class Date,并且很惊讶地得到了numericvector。这是一个例子: dates <- as.Date(c('2011-01-01', '2011-01-02', '2011-01-03', '2011-01-04', '2011-01-05')) dates <- ifelse(dates == '2011-01-01', dates - 1, dates) str(dates) 这尤其令人惊讶,因为在整个矢量上执行该操作会返回一个Date对象。 dates <- as.Date(c('2011-01-01', '2011-01-02', '2011-01-03', '2011-01-04','2011-01-05')) dates <- dates - 1 str(dates) 我是否应该使用其他函数对Date向量进行运算?如果是这样,什么功能?如果没有,如何强制ifelse返回与输入类型相同的向量? 帮助页面的ifelse表示这是一项功能,而不是错误,但是我仍在努力寻找对我发现令人惊讶的行为的解释。
161 r  datetime  if-statement 

8
如何在逻辑向量中计算TRUE值
在R中,对TRUE逻辑向量中的值数进行计数的最有效/惯用方式是什么?我可以想到两种方式: z <- sample(c(TRUE, FALSE), 1000, rep = TRUE) sum(z) # [1] 498 table(z)["TRUE"] # TRUE # 498 你喜欢哪个?还有什么更好的吗?
160 r 


4
为什么2012年Pandas在python中的合并速度比data.table在R中的合并速度快?
最近,我遇到了python 的pandas库,根据该基准,该库执行非常快的内存中合并。它甚至比R(我选择分析的语言)中的data.table包还要快。 为什么pandas要比这快得多data.table?是因为python相对于R具有固有的速度优势,还是我不了解一些折衷方案?有没有一种方法可以执行内部和外部联接data.table而无需使用merge(X, Y, all=FALSE)and merge(X, Y, all=TRUE)? 这是用于对各种软件包进行基准测试的R代码和Python代码。
160 python  r  join  data.table  pandas 


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.