R 如何对列中的值执行乘法?
我对R非常陌生,这周刚开始,我没有任何编程经验,如果我用不正确的术语表达我的问题,请原谅 我有一个包含4列的数据表,就像这样,如果最后一列值属于b组,我想将它们乘以-1,同时保留数据结构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
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