小编Pau*_*yuk的帖子

如何获取列表中每个元素的第二个子元素

我知道我之前遇到过这个问题,但此刻我有一点精神障碍.因为我在SO上找不到它,我会在这里发布,所以我可以在下次找到它.

我有一个数据框,其中包含一个表示ID标签的字段.此标签有两个部分,alpha前缀和数字后缀.我想将它拆开并创建两个具有这些值的新字段.

structure(list(lab = c("N00", "N01", "N02", "B00", "B01", "B02", 
"Z21", "BA01", "NA03")), .Names = "lab", row.names = c(NA, -9L
), class = "data.frame")

df$pre<-strsplit(df$lab, "[0-9]+")
df$suf<-strsplit(df$lab, "[A-Z]+")
Run Code Online (Sandbox Code Playgroud)

这使

   lab pre  suf
1  N00   N , 00
2  N01   N , 01
3  N02   N , 02
4  B00   B , 00
5  B01   B , 01
6  B02   B , 02
7  Z21   Z , 21
8 BA01  BA , 01
9 NA03  NA , 03
Run Code Online (Sandbox Code Playgroud)

所以,第一个strsplit工作正常,但第二个提供了一个列表,每个都有两个元素,一个空字符串和我想要的结果,并将它们填充到dataframe列中.

如何从列表的每个元素中选择第二个子元素?(或者,有没有更好的方法来做到这一点)

r

57
推荐指数
2
解决办法
5万
查看次数

R语言中单元测试支持的当前状态是什么

R是一种统计编程语言.R的一部分是使用Packages,它们本身是用R语言编写的.编程最佳实践包括使用单元测试来测试这些包中的函数在编写和使用时的功能.

我知道在R中有一些用于单元测试的软件包,这些是

我很想知道;

那里还有其他套餐吗?鉴于人们的经验,这些包装在不同的东西上表现出色吗?R的单元测试目前的最新技术水平是什么?

unit-testing r

47
推荐指数
2
解决办法
3306
查看次数

一次转换数据框的多个列的类型

我似乎花了很多时间从文件,数据库或其他东西创建数据帧,然后将每列转换为我想要的类型(数字,因子,字符等).有没有办法一步完成,可能是通过给出一个类型的向量?

foo<-data.frame(x=c(1:10), 
                y=c("red", "red", "red", "blue", "blue", 
                    "blue", "yellow", "yellow", "yellow", 
                    "green"),
                z=Sys.Date()+c(1:10))

foo$x<-as.character(foo$x)
foo$y<-as.character(foo$y)
foo$z<-as.numeric(foo$z)
Run Code Online (Sandbox Code Playgroud)

而不是最后三个命令,我想做类似的事情

foo<-convert.magic(foo, c(character, character, numeric))
Run Code Online (Sandbox Code Playgroud)

r type-conversion

38
推荐指数
4
解决办法
4万
查看次数

如何在多个窗口中创建绘图并在R中将它们分开

我确定这是一个简单的问题,但我的google/help foo让我失望,所以这取决于你.

我有一个R脚本生成几个图,我想一次查看屏幕上的所有图(在单独的窗口中),但我无法弄清楚如何打开多个图形窗口.我正在使用ggplot2,但我觉得这是一个更基本的问题,所以我只是在这个简单的例子中使用基础图形

x<-c(1:10)
y<-sin(x)
z<-cos(x)
dev.new()
plot(y=y,x=x)
dev.off()
dev.new()
plot(x=x,y=z) 
Run Code Online (Sandbox Code Playgroud)

但这不起作用.如果这很重要,我就在Windows上(Windows + Eclipse + StatEt)

graphics r

31
推荐指数
2
解决办法
4万
查看次数

在R中很好地将数字格式化为有效数字

我想将报表中的数字格式化为有效数字,但保持尾随重要的零并正确格式化大数字

例如,数字c(10.00001,12345,1234.5,123.45,1.2345,0.12345)到3位有效数字应该是10.0,12300,1230,123,1.23,0.123但是我用不同的方法得到了不同的结果(并且似乎没有一个通用的工作.

> numbers<-c(10.00001,12345,1234.5,123.45,1.2345,0.12345)
> for(n in seq(numbers)){
+   print(signif(numbers[n],digits=3))
+   print(format(numbers[n],digits=3))
+   print(formatC(numbers[n], digits=3,format="fg"))
+   print(formatC(numbers[n], digits=3,format="fg", flag="#"))
+   }
[1] 10
[1] "10"
[1] "  10"
[1] "10.0"
[1] 12300
[1] "12345"
[1] "12345"
[1] "12345."
[1] 1230
[1] "1234"
[1] "1234"
[1] "1234."
[1] 123
[1] "123"
[1] " 123"
[1] "123."
[1] 12.3
[1] "12.3"
[1] "12.3"
[1] "12.3"
[1] 1.23
[1] "1.23"
[1] "1.23"
[1] "1.23"
[1] 0.123
[1] "0.123"
[1] …
Run Code Online (Sandbox Code Playgroud)

r

25
推荐指数
6
解决办法
3万
查看次数

从Rails代码创建ERD类型图

我开始学习Ruby on Rails,并查看其他人的代码.有没有办法获取现有的代码库并创建对象关系图或实体关系图(ERD)?

我知道Visio可以在给定数据库的情况下做一些事情,但我希望能够生成类和对象的图表.

ruby oop diagram erd ruby-on-rails

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

如何将换行符放入R中xtable的列标题中

我有一个数据帧,我使用xtable 将其放入一个sweave文档,但是我的一个列名很长,我想将它分成两行以节省空间

calqc_table<-structure(list(RUNID = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L), ANALYTEINDEX = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L), ID = structure(1:11, .Label = c("Cal A", "Cal B", "Cal C", 
"Cal D", "Cal E", "Cal F", "Cal G", "Cal H", "Cal High", "Cal Low", 
"Cal Mid"), class = "factor"), mean_conc = c(200.619459644855, 
158.264703128903, 102.469121407733, 50.3551544728544, 9.88296440865076, 
4.41727762501703, 2.53494715706024, 1.00602831741361, 199.065054555735, 
2.48063347296935, 50.1499780776199), sd_conc = c(2.3275711264554, 
NA, NA, NA, NA, …
Run Code Online (Sandbox Code Playgroud)

latex r tex sweave xtable

17
推荐指数
1
解决办法
6786
查看次数

如何在R代码中使用异常值测试

作为我的数据分析工作流程的一部分,我想测试异常值,然后使用和不使用这些异常值进行进一步的计算.

我找到了异常包,它有各种测试,但我不确定如何最好地将它们用于我的工作流程.

statistics r outliers

16
推荐指数
4
解决办法
4万
查看次数

你如何使用Git,Eclipse和Egit进行合并

我和许多其他人一样,喜欢Eclipse作为我的选择,并且由于我的工作方式(移动,不同的地方,不同的项目)想要使用Git for CVS.

Eclipse中有一个Git插件,Egit,现在是一个正式的Eclipse项目,目前版本为0.7.1.当我刚刚开始使用它时,我对其他人如何使用它感兴趣,以及他们正在使用的工作方式.目前Egit不支持合并,因此必须在Eclipse之外完成,然后刷新工作区.

那么,你是如何完成这项任务的?(以及Egit现在不做的任何其他任务)

eclipse git version-control egit

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

在R CMD Check的文档对象中没有\ alias的\ usage中的错误对象

我已经为自己使用了一个小包装,使用devtools一切都很顺利.但是,我试图对它运行R CMD Check,并且出现了一些错误,似乎是因为我的用法和示例使用了基础R中不在我的包中的函数,例如这里是我的最小函数,以及roxygen文档

#' Function to Sort a dataframe with a given list of columns
#' Cribbed from Spector, P. (2008). "Data Manipulation with R", UseR! Springer. Pg78
#' @param df Dataframe to be sorted
#' @param ... list of columns to sort on
#' @return A sorted dataframe
#' @author "Paul Hurley"
#' @export
#' @usage with(dataframe,sortframe(dataframe,column1, column2, column3))
#' @examples with(iris,sortframe(iris,Sepal.Length,Sepal.Width,Petal.Length))
sortframe<-function(df,...){df[do.call(order,list(...)),]}
Run Code Online (Sandbox Code Playgroud)

和R CMD检查给出

Undocumented arguments in documentation object 'sortframe'
  'dataframe' 'sortframe(dataframe, column1, column2, column3)'
Documented arguments not …
Run Code Online (Sandbox Code Playgroud)

r package roxygen2

12
推荐指数
1
解决办法
1585
查看次数