私はコーディングソフトウェアを使用するのに全く新しいです。私はRstudioの使用方法を学びたいと考えています。.csvファイル名からファイル番号をループして抽出し、列に挿入する
私はいくつかのファイルからデータを結合し、現在ファイルからファイル番号を抽出し、これらを列に挿入しようとしています。
fnames = dir("../data/temperature_trials", full.names=TRUE)
print(fnames)
for (i in 1: length(fnames)) {
#open each file in turn
temp = read.csv(fnames[i])
if (i == 1) {
res = temp
} else {
res = rbind(res, temp)
}
}
```
は12個の.csvファイルをインポートし、指定されたすべてのdata.Files組み合わせるためにrbindを使用: Trial1.csv Trial2.csv を。 。 。 Trial12.csv私は、各.csvファイル名からトライアル番号を抽出し、TrialNumberという名前の列にそれらを配置しようとしています
```
for (i in 1: length(fnames)) {
loc = regexpr(pattern = "Trial[0-9]*", text = fnames[i])
trialNumber = as.numeric(substr(fnames[i], start = loc[[1]][1]+5,
stop = loc[[1]][1] + attr(loc, 'match.length')-1))
print(trialNumber)
res1 = cbind(trialNumber, res)
```
。私がそうするとき、それはすべてのデータポイントのためにこの列に12を置くだけです。ループを使用しているので、これが理由であると仮定していますが、これを修正する方法や別の方法で解決する方法がわかりません。試用番号を各.csvファイルに対応する各データポイントに割り当てる必要があります。
12個のファイルが結合されているため、これは機能しません。私はトライアル番号の列を挿入する必要があり、適切な.csvファイルデータに対応する1-12でなければなりません。 – REV
私が提案したのは、各繰り返しが終わる前にこれを行うということでしたが、すべてのファイルを既に一緒に追加した後に現在実行しようとしています。 –