繁体   English   中英

从SPSS导入时,如何从R中的数据框中删除空格

[英]How to remove white space from a data frame in R, when importing from SPSS

我正在使用“外国”包中的read.spss将.sav文件读入R。

这是来自在线调查的调查数据。 但是,结果(通过SPSS文件)在字段(我认为是在线表格的文本输入字段)中包含大的空白区域,这些空白在我使用write.csv时出现。

供参考,这是我正在使用的代码:

dataset <- read.spss(file.choose(), to.data.frame=TRUE)

csv <- write.csv(dataset, file=file.choose(), append=FALSE, na="NA", row.names=FALSE, fileEncoding="UTF-8") 

我可以调整此值,以将NA替换为最终csv输出的数据框中的空格吗?

解决:发现使用memisc包并将我的原始read.spss函数替换为

dataset <- as.data.set(spss.system.file(file.choose()))dataset <- as.data.set(spss.portable.file(file.choose()))

避免自动输入大空格字符串。 更多内容:将SPSS文件读入R

# if your data.frame object is `x`
library(stringr)

# convert all factor columns to character
facs <- sapply( x , is.factor )
x[ facs ] <- sapply( x[ facs ] , as.character )

# trim all character columns,
# removing leading and trailing whitespace
chars <- sapply( x , is.character )
x[ chars ] <- sapply( x[ chars ] , str_trim )

我猜Litte错误:

x[ facs ] <- sapply( x[ facs ] , as.character )

应该 :

x[ facs ] <- lapply( x[ facs ] , as.character )

lapply而不是sapply

(不知道为什么我几天以来一直在学习R语言)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM