我正在试验和R而我无法找到下一步的方法:
1-如果x == 3乘以同一行的“y”值,我想乘以 2-添加在步骤1中完成的所有计算。
x <- 3426278722533992028364647392927338
y <- 7479550949037487987438746984798374
x <- as.numeric(strsplit(as.character(x), "")[[1]])
y <- as.numeric(strsplit(as.character(y), "")[[1]])
Table <- table(x,y)
Table <- data.frame(Table)
Table$Freq <- NULL
所以我尝试创建一个函数:
Calculation <- function (x,y) {
z <- if(x == 3){ x * y }
w <- sum(z)
}
这是我难以解决的打印和错误......
感谢您的时间,
Kylian Pattje
答案 0 :(得分:3)
这里有两件事:
1。在您的函数中使用ifelse
Calculation <- function (x,y) {
z <- ifelse(x == 3, x * y, NA)
w <- sum(z, na.rm = TRUE)
return(w)
}
2. 确保您的变量不是因素,
Table[] <- lapply(Table, function(i) as.numeric(as.character(i)))
Calculation(Table$x, Table$y)
#[1] 84