トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

R.scripts

*disclaimer
19670

19669

R.scripts Rのちょっとしたスクリプト

 検索

myGrep

  • ウインドウが開いて検索対象ファイルをえらぶ(例: myGrep("had some")
myGrep <- function(a){
lines.tmp <- scan(choose.files(), what="char", sep="\n")
grep(a, lines.tmp, value=T)
}

myGrep2

  • ファイル名も指定する(例: myGrep2("had some", "JPN005.txt)
    • ただし、作業ディレクトリーが検索対象ファイルのあるディレクトリー(フォルダ)にあること
myGrep2 <- function(a, b){
lines.tmp <- scan(b, what="char", sep="\n")
grep(a, lines.tmp, value=T)
}

myGrep3.R

  • ディレクトリー内のすべてのファイルに対し、対象とする文字列が何回出現するかの一覧表を出力

myGrep3.R(1)

myGrep3 <- function(a){

	#copyleft 2019-01-24 sugiura@nagoya-u.jp
	output.file = choose.files()
	#結果を保存するファイル名を指定する。保存場所に注意
	#(ファイル名を聞かれたら適当に名前を付ける。例えば jpn.txt)

	files <- list.files()
	for (i in files) {

	hit <- vector()

	lines.tmp <- scan(i, what="char", sep="\n")
		#ファイルを選択。

	data.tmp <- grep("\\*(JPN|NS)...:\t", lines.tmp, value=T)
		#*で始まり
		# JPNかNS があって、
		# その後ろに、3文字あって、
		# その後ろに、コロンの記号とタブ記号がある行のみ。
	body.tmp <- gsub("\\*(JPN|NS)...:\t", "", data.tmp)
		#行頭の記号とタブ記号を削除。
	body.tmp <- body.tmp[body.tmp != ""]
		# 空の要素を削除(空でない要素のみを残す)する「イディオム」
	body.lower <- tolower(body.tmp)
									# 小文字にして
	body.nopunc <- gsub("\\W", " ", body.lower)
									# 記号をスペースに
	body.single <- gsub(" +", " ", body.nopunc)
									# 重複スペースを一つに
	body.clear <- gsub(" $", "", body.single)
									# 文末スペースの削除
	body.token <- unlist(strsplit(body.clear, " "))
									# 
	body.token <- body.token[body.token != ""]
							# 空の要素を削除する「イディオム」1

		hit <- grep(a, body.token)
	
	cat(i, length(hit), "\n", file=output.file, append=T)

	}
}

myGrep4.R

 Type(異なり語)の一覧の出力

myAllTypes.R

  • NICE形式のファイルの異なり語の一覧の出力
  • 作業ディレクトリーをフォルダー内に
  • 結果を保存するファイルをフォルダー外に作成


 単語リストのチェック

checkWordList.R

  • Wordリストにあるかどうかチェック
  • ないものだけを出力