我有一个数据框:
mydata <- structure(list(
max_L = c("1,71", "1,44", "2,35", "1,64", "3", "1,73"),
max_W = c("2,24", "3,14", "1,67", "2,5", "1,57", "2,22" )),
row.names = c(NA, 6L), class = "data.frame")
我要进行每一行并进行以下计算:
(1/ value of max_L)+(1/ value of max_W)
然后,我要将这些结果放入新列中。我该怎么办?
答案 0 :(得分:0)
您可以像这样为数据框mydata
分配一个新列:
mydata$col3 <- 1 / mydata$col1 + 1 / mydata$col2
OP显示他的数据后,编辑:
您的数据为字符格式。您必须先将其转换为数字。
如果您是通过read.table
(或类似的函数)从外部来源获取数据的,则可以设置小数点分隔符:dec = ","
。
不过,您可以执行以下操作:
mydata[,1] <- as.numeric(gsub(",", ".", mydata[,1]))
mydata[,2] <- as.numeric(gsub(",", ".", mydata[,2]))
mydata$col3 <- 1 / mydata[,1] + 1 / mydata[,2]