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

Mis*_*sha 1 r

我从数据框中随机抽样(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为什么会被引入......

//中号

Jam*_*mes 5

要将数字因子转换为数字,必须先更改为字符,否则您将获得因子的内部数字,而不是级别标签:

as.numeric(as.character(r))
Run Code Online (Sandbox Code Playgroud)

由于因子级别中的非数字字符,可能会引入NA.