現在、次の形式の複素数のデータがあります。
r1,i1,r2,i2,...
-1.74550E-0001,5.04828E-0002,7.37643E-0002,-1.70416E-0001,...
...
そして、これらの複素数の絶対値から新しい列を作成したいので、次の方法でこれを実行しようとしました。
data=read.table("umatrix.txt", header=T, sep=",")
for (i in 1:43){
data$paste("m",toString(i), sep = "") = sqrt((data$paste("r",toString(i), sep = "")^2)+(data$paste("i",toString(i), sep = "")^2))
}
しかし、これはエラーを取得します:
エラー:非機能を適用しようとしました
おそらく、paste()をdatatable$column構文でこのように使用できないためです。これをどのように達成しますか?
編集:気にしないで、次のように他の構文を使用して修正しました:
for (i in 1:43){
data[1:43,paste("m",toString(i), sep = "")] = sqrt((data[1:43,paste("r",toString(i), sep = "")]^2)+(data[1:43,paste("i",toString(i), sep = "")]^2))
}