【发布时间】:2018-06-26 14:17:21
【问题描述】:
我一直在尝试用行名替换列中的多个值。在我的实际数据中,它们代表了一种主观测试,在该特定点被记录为阳性或阴性。我必须在我的数据框中重新分类它,我所要做的就是样本 ID,它们是行名。
与其手动更改每个特定值,我想知道是否有一种方法可以一次执行多个值。我看了this question。我试过这个,
dat <- structure(list(A = structure(c(2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L,2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 1L), .Label = c("1", "0"), class = "factor"),B = structure(c(1L,1L, 1L, 1L, 2L, 1L, 1L, 2L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,1L, 1L, 1L, 1L, 2L, 1L, 1L), .Label = c("0", "1"), class = "factor"),C = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,3L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L), .Label = c("nd","0", "1"), class = "factor"),D = structure(c(1L, 1L, 1L,2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 2L,2L, 1L, 1L, 1L, 1L, 1L), .Label = c("0", "1"), class = "factor"),E = structure(c(1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("0","1"), class = "factor")),.Names = c("A", "B", "C", "D", "E"), class = "data.frame", row.names = c(NA, 24L))
dat$result <- as.integer(rowSums(dat[,1:5] == "1")> 0)
dn <- c("1","5","7","10","14","15","16")
dat$result[dn] <- "3"
请有人帮我解决这个问题。
【问题讨论】:
-
dat3未定义。我认为应该是dat,但我无法编辑它 -
@SeGa 谢谢,我已经编辑过了
标签: r dataframe data-manipulation