R 如何对列中的值执行乘法?

R 如何对列中的值执行乘法?,r,R,我对R非常陌生,这周刚开始,我没有任何编程经验,如果我用不正确的术语表达我的问题,请原谅 我有一个包含4列的数据表,就像这样,如果最后一列值属于b组,我想将它们乘以-1,同时保留数据结构 Data: 1. 21 A 0.1 2. 78 B 0.9 3. 29 B 0.3 4. 71 A 0.5 所需成果 1. 21 A 0.1 2. 78 B -0.9 3. 29 B -0.3 4. 71 A 0.5 有人能帮我吗 干杯 丹尼斯您的数据: df <- read.tab

我对R非常陌生,这周刚开始,我没有任何编程经验,如果我用不正确的术语表达我的问题,请原谅

我有一个包含4列的数据表,就像这样,如果最后一列值属于b组,我想将它们乘以-1,同时保留数据结构

Data:

 1. 21 A 0.1
 2. 78 B 0.9
 3. 29 B 0.3
 4. 71 A 0.5
所需成果

 1. 21 A 0.1
 2. 78 B -0.9
 3. 29 B -0.3
 4. 71 A 0.5
有人能帮我吗

干杯 丹尼斯

您的数据:

df <- read.table(header=F, text=" 
 1. 21 A 0.1
 2. 78 B 0.9
 3. 29 B 0.3
 4. 71 A 0.5")

假设您从以下内容开始:

> Data
  V1 V2 V3  V4
1  1 21  A 0.1
2  2 78  B 0.9
3  3 29  B 0.3
4  4 71  A 0.5
您只需执行以下操作:

Data$V4 <- Data$V4 * ifelse(Data$V3 == "B", -1, 1)

你的意思是,像
Data$V4一样,有一条二进制运算符错误消息,但是谢谢你的帮助=)我可以问一下,如果我在V4之后有另一列,如果我想做同样的事情,我可以df$V4$V5[df$V3==“B”]*-1吗?@DennisTanEngKiat,在这种情况下你可以做:
df[df[3]==“B”,c(4,5)]谢谢你!,这个社区太棒了!您在我的数据分析方面帮了我很大的忙,先生/mdm,祝您度过愉快的一天=)
df[df[3] == "B", c(2,4)] <- df[df[3] == "B", c(2,4)] * -1
df
#  V1  V2 V3   V4
#1  1  21  A  0.1
#2  2 -78  B -0.9
#3  3 -29  B -0.3
#4  4  71  A  0.5
> Data
  V1 V2 V3  V4
1  1 21  A 0.1
2  2 78  B 0.9
3  3 29  B 0.3
4  4 71  A 0.5
Data$V4 <- Data$V4 * ifelse(Data$V3 == "B", -1, 1)
> Data
  V1 V2 V3   V4
1  1 21  A  0.1
2  2 78  B -0.9
3  3 29  B -0.3
4  4 71  A  0.5