我从数据框中随机抽样(a)我得到了.限定符a [,1]将导出为excel.但是我遇到了麻烦.
str(a)
'data.frame': 2299 obs. of 5 variables:
$ A : Factor w/ 2284 levels "01012223427",..: 1339 78 779 1590 1687 64 1034 633 1321 109
a[sample(a[,1],300),]->q
Run Code Online (Sandbox Code Playgroud)
这导致300个随机样本,但其中几个是NA.有任何想法吗?
q[,1]->r
str(r)
Factor w/ 2284 levels "01012223427",..: 85 1162 1886 549 1996 789 185 321 632 2273
Run Code Online (Sandbox Code Playgroud)
我需要将01012223427格式的r向量转换为excel,但是write.csv(r,"r.csv")在列的每个单元格中生成带有concactenated 1,"01012223427"等的文件.我试图write.csv(as.numeric(r),"r.csv")对输出的因素本身没有帮助.我怎样才能做到这一点?
- 编辑
write.csv2(r,"300.csv",row.names = F)解决了我的问题,但我仍然不确定NA为什么会被引入......
//中号
我试图从尾随空格中清除数据帧中的因子变量.但是级别赋值在我的lapply函数中不起作用.
rm.space<-function(x){
a<-gsub(" ","",x)
return(a)}
lapply(names(barn),function(x){
levels(barn[,x])<-rm.space(levels(barn[,x]))
})
Run Code Online (Sandbox Code Playgroud)
任何想法我如何在lapply函数内分配级别?
//中号
我正在尝试使用以下数据创建带有错误栏的绘图(最后是数据帧的输入).我想为每个"loc"的"est A"和"est B"变量创建错误栏,但我无法找出融合/转换数据的正确方法,以便每个"loc"将有两行几列.
即我想将数据帧转换为
loc est value lb ub
a A 0.56 0.26 1.20
a B 0.26 0.11 0.60
b A 0.13
b B 0.03
c A.
c B.
ggplot(test,aes(x=Loc,y=value,color=est))+geom_point()+geom_errorbar(aes(ymax=ub,ymin=lb))
> dput(test)
structure(list(Loc = c("a", "b", "c", "d", "e", "f", "g", "h",
"i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s"), `est A` = c(0.563270934055709,
0.137109873453407, 0.0946514679398302, 0.185103062070327, 0.0322566231880829,
0.122509922923046, 0.120243043198876, 0.496530499385046, 0.469200921538171,
0.0605252215342125, 0.102364314964088, 0.115500654388976, 0.226320301860998,
0.553299923910439, 0.0284461712437990, 0.161231809656951, 0.129270683014873,
0.0691902563736868, 4.22775563209408e-10), `est B` = c(0.261222076585074,
0.0361169058045732, …Run Code Online (Sandbox Code Playgroud) 我需要从列表中挖掘出类似的数据帧并将它们放入数据帧中.我创建了一个玩具示例:
nn <- list()
h <- data.frame(a = c(5,6), j = c(8,1), g = c("d","o"))
rnz <- c("test1","test2")
o <- data.frame(a = c(1,2), j = c(6,4), g = c("r","u"))
rownames(h) <- rnz
rownames(o) <- rnz
i <- 1:4
nn$set1 <- list(num = i, df = h)
nn$set2 <- list(num = i / 2, df = o)
Run Code Online (Sandbox Code Playgroud)
现在我想将列表提取为以下整齐的格式
var a j
set1 test1 5 8
set1 test2 6 1
set2 test1 1 6
set2 test2 2 4
Run Code Online (Sandbox Code Playgroud)
但是 - 当我这样做的时候
df …Run Code Online (Sandbox Code Playgroud)