我从数据框中随机抽样(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为什么会被引入......
//中号
要将数字因子转换为数字,必须先更改为字符,否则您将获得因子的内部数字,而不是级别标签:
as.numeric(as.character(r))
Run Code Online (Sandbox Code Playgroud)
由于因子级别中的非数字字符,可能会引入NA.