R中基于条件的行值操作
下面是我的数据框R中基于条件的行值操作,r,R,下面是我的数据框 dataframe <- data.frame( A = c(0, 13.4375, 13.625, 16.6875, 16.6875), B = c(0, 0, 0, 1, 1), c = c(3, 9, 63, 52, 98) ) #dataframe #A B c #0 0 3 #13.4375 0 9
dataframe <-
data.frame(
A = c(0, 13.4375, 13.625, 16.6875, 16.6875),
B = c(0, 0, 0, 1, 1),
c = c(3, 9, 63, 52, 98)
)
#dataframe
#A B c
#0 0 3
#13.4375 0 9
#13.625 0 63
#16.6875 +1 52
#16.6875 +1 98
#.. .. ..
根据所示的示例,我们将“B”与“C”列相乘,以将“B”中为0的值替换为0
df1$C <- df1$B*df1$C
df1$C就是这个吗
dataframe = data.frame(A = c(1,2,3,4),
B = c(1,0,0,1),
C = c(0,0,0,1))
w <- 3
dataframe$C[1:w] <- ifelse(dataframe$B[1:w] == 0, 0, dataframe$B[1:w])
dataframe=data.frame(A=c(1,2,3,4),
B=c(1,0,0,1),
C=C(0,0,0,1))
w是否总是固定长度?@不,它将是一个变量。这将替换c
的所有值,但我只想更改w
中声明的行数。塔雷瓦更新了帖子
df1$C[1:3] <- df1$B[1:3]*df1$C[1:3]
w <- 3
i1 <- (seq_len(nrow(df1)) %in% seq_len(w)) & df1$B ==0
df1$C <- df1$C * !i1
dataframe = data.frame(A = c(1,2,3,4),
B = c(1,0,0,1),
C = c(0,0,0,1))
w <- 3
dataframe$C[1:w] <- ifelse(dataframe$B[1:w] == 0, 0, dataframe$B[1:w])