gpt4 book ai didi

用数字替换值

转载 作者:行者123 更新时间:2023-12-02 06:27:51 25 4
gpt4 key购买 nike

我有一个数据框,它具有三个可能的值,“向上”、“向下”或 NA。

昏暗(df)= 61,5

我想用 +2 替换所有“向上”值

所有“向下”值 -2

所有 NA 值减 0

我创建了以下函数,但我一直收到此错误:

Binaryexpress <- function(x){
for(i in 1:5){
j<-1
while(j<= 61){
if (x[j,i] == "Down"){
x[j,i] <- -2
j <- j+1

} else if(x[j,i] == "Up"){
x[j,i] <- 2
j<- j+1

}else if(is.na(x[j,i]) == TRUE){
x[j,i] <- 0
j<- j+1

}
i<- i+1
}
}
}

Error in if (x[j, i] == "Down") { : missing value where TRUE/FALSE needed

我也在论坛上尝试过其他方法,例如 -> df[df == NA] <- 0 ,但这也没有用。

编辑::

数据框看起来像这样:

 x1    x2    x3    x4    x5
y Up Down NA NA Up
k Down NA Up NA NA
l . . . . .
m . . . . .
.
.

先谢谢大家

最佳答案

你不需要这些。

db[db=="Up"] <- 2
db[db=="Down"] <- -2
db[is.na(db)] <- 0

基本上,您是在数据库(我称之为 db)中搜索“Up”、“Down”或 NA,并分别分配 2、-2 和 0。

这给你留下了所有的字符,所以你这样做:

db<-as.data.frame(sapply(db,as.numeric))

在您的评论中,您说它给了您一个因子错误 - 这意味着您的 df 是所有因子。从这个开始解决这个问题:

db<-as.data.frame(sapply(db,as.character),stringsAsFactors = F)

关于用数字替换值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51485802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com