[英]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.