我知道我之前遇到过这个问题,但此刻我有一点精神障碍.因为我在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)
这使
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
所以,第一个strsplit工作正常,但第二个提供了一个列表,每个都有两个元素,一个空字符串和我想要的结果,并将它们填充到dataframe列中.
如何从列表的每个元素中选择第二个子元素?(或者,有没有更好的方法来做到这一点)
R是一种统计编程语言.R的一部分是使用Packages,它们本身是用R语言编写的.编程最佳实践包括使用单元测试来测试这些包中的函数在编写和使用时的功能.
我知道在R中有一些用于单元测试的软件包,这些是
我很想知道;
那里还有其他套餐吗?鉴于人们的经验,这些包装在不同的东西上表现出色吗?R的单元测试目前的最新技术水平是什么?
我似乎花了很多时间从文件,数据库或其他东西创建数据帧,然后将每列转换为我想要的类型(数字,因子,字符等).有没有办法一步完成,可能是通过给出一个类型的向量?
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) 我确定这是一个简单的问题,但我的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)
我想将报表中的数字格式化为有效数字,但保持尾随重要的零并正确格式化大数字
例如,数字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) 我开始学习Ruby on Rails,并查看其他人的代码.有没有办法获取现有的代码库并创建对象关系图或实体关系图(ERD)?
我知道Visio可以在给定数据库的情况下做一些事情,但我希望能够生成类和对象的图表.
我有一个数据帧,我使用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) 作为我的数据分析工作流程的一部分,我想测试异常值,然后使用和不使用这些异常值进行进一步的计算.
我找到了异常包,它有各种测试,但我不确定如何最好地将它们用于我的工作流程.
我已经为自己使用了一个小包装,使用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)