我们假设我有这个数据框:
df <- data.frame(V1 = 1:6,
V2 = rep(c("DC1", "DC2"), each = 3),
stringsAsFactors = FALSE)
如何根据DC1和DC2进行不同的操作?
我想说我想乘以属于DC1的3个V1值,然后将那些属于DC2的值除以2。
答案 0 :(得分:2)
使用grepl
和ifelse
对于DC1,您可以使用
df$V1 <- ifelse(grepl("DC1", df$V2), df$V1 * 3, df$V1)
对于DC2,您可以使用
df$V1 <- ifelse(grepl("DC2", df$V2), df$V1 / 2, df$V1)
使用这两行导致
V1 V2
1 3.0 DC1
2 6.0 DC1
3 9.0 DC1
4 2.0 DC2
5 2.5 DC2
6 3.0 DC2
如果您想要更多不同的操作,可以使用functions
和for
循环。