小编Mis*_*sha的帖子

从数据帧中随机抽样并输出到excel中

我从数据框中随机抽样(a)我得到了.限定符a [,1]将导出为ex​​cel.但是我遇到了麻烦.

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为什么会被引入......

//中号

r

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

在r中的lapply循环内设置级别

我试图从尾随空格中清除数据帧中的因子变量.但是级别赋值在我的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函数内分配级别?

//中号

r lapply

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

ggplot和错误栏

我正在尝试使用以下数据创建带有错误栏的绘图(最后是数据帧的输入).我想为每个"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)

r ggplot2

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

从列表转换为r中的数据帧

我需要从列表中挖掘出类似的数据帧并将它们放入数据帧中.我创建了一个玩具示例:

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)

r list dataframe

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

标签 统计

r ×4

dataframe ×1

ggplot2 ×1

lapply ×1

list ×1