我目前有以下形式的复数数据:
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))
}