记excel2eprime包开发
2024-03-11 12:07:29

项目背景

做语言学实验的时候,通常会用到E-prime软件,用软件把实验材料编制成可以运行的程序并不那么复杂,复杂的是把实验句在Excel中分好再导入到E-prime中,这个过程很麻烦,而且容易出错,之前我用R写过一个小脚本用来处理实验句,但是还不成熟,功能不全,不足以使用,经过一段时间的学习,我写了一个R包,实现了自动分句。

R包安装

1
2
3
4
5
# 官网安装
install.packages("excel2eprime")

# Github安装
devtools::install_github("wujackwill/excel2eprime")

使用

使用方法比较简单,先读取一个excel文件,指定要分的列,就可以自动分句了。

拿1 * 2的实验范式举例

1
2
3
4
5
6
7
8
# 导入R包
library(excel2eprime)

# 第一个引号里是文件路径,Windows系统注意要用双斜杠,第二个引号里是要分的列
data <- split_12("D:\\personal\\excel2ePrime\\R\\12.xlsx","A")

# 运行完上一行后,data包含了所有条件的句子,查看条件1的句子,就用下面的代码,以此类推
data$con1

如果想要导入结果,直接用write.csv()导出就可以了。

1
write.csv(data$con1, "1.csv")

不足

  1. 分句只是编制实验材料其中的一步,以后可能会增加其他功能,比如拉丁方交叉
  2. 只能用xlsx的格式导入,不支持csv格式导入
  3. 代码还不够简洁,还有很多可以优化的地方

后记

R包写完是好几天前的事了,但是上传到CRAN的过程确实一波三折,有时以为没有问题了,结果还是被拒了。难怪Hadley Wickham在R package[@wickhamPackages2015]一书中说:

A rejected CRAN package is not the end of the world. It happens to everyone.
Even members of R-core have to go through the same process and CRAN is no
friendlier to them. I have had numerous packages rejected by CRAN. I was banned
from submitting to CRAN for two weeks because too many of my existing packages
had minor problems.

但是不得不说,CRAN的审核确实很严格,这也是R包能够保持高质量的原因之一吧,就像Martin Fowler说的那样:

If it hurts, do it more often. – Martin Fowler

参考资料

[1] R Packages zh_CN — R包开发 0.0.1 文档. (n.d.) https://r-packages-zh-cn.readthedocs.io/zh-cn/latest/index.html.

[2] R包发布记. (n.d.) https://openr.pzhao.org/zh/blog/publish-r-packages//.

[3] Bliki: Frequency Reduces Difficulty. (n.d.) In martinfowler.com https://martinfowler.com/bliki/FrequencyReducesDifficulty.html.

Prev
2024-03-11 12:07:29
Next