R匹配列中最接近的数字
R Matching closest number from columns
我有一份对调查中 7 个问题的答复列表,每个问题都有自己的专栏,我试图在前 6 个中找到最接近(数字)第 7 个的答复。有些不会完全相同,所以我想创建一个新变量来产生前 6 个和第 7 个中最接近的数字之间的差异。下面的示例将产生 0.
s <- c(1,2,3,4,5,6,3)
s <- t(s)
s <- as.data.frame(s)
s
非常感谢任何帮助。我为没有尝试代码而道歉,因为我尝试过的任何东西实际上都没有接近。
这个怎么样?
which.min( abs(s[1, 1:6] - s[1, 7]))
我假设您希望以某种方式对其进行概括,但您需要为此提供更多信息。或者只是 运行 它通过一个循环 :-)
编辑:添加了评论中的循环并更改了 2 个小东西。
s <- c(1,2,3,4,5,6,3)
t <- c(1,2,3,4,5,6,7)
p <- c(1,2,3,4,5,6,2)
s <- data.frame(s,t,p)
k <- t(s)
k <- as.data.frame(k)
k$t <- NA ### need to initialize the column
for(i in 1:3){
## need to refer to each line of k when populating the t column
k[i,]$t <- which.min(abs(k[i, 1:6] - k[i, 7])) }
我有一份对调查中 7 个问题的答复列表,每个问题都有自己的专栏,我试图在前 6 个中找到最接近(数字)第 7 个的答复。有些不会完全相同,所以我想创建一个新变量来产生前 6 个和第 7 个中最接近的数字之间的差异。下面的示例将产生 0.
s <- c(1,2,3,4,5,6,3)
s <- t(s)
s <- as.data.frame(s)
s
非常感谢任何帮助。我为没有尝试代码而道歉,因为我尝试过的任何东西实际上都没有接近。
这个怎么样?
which.min( abs(s[1, 1:6] - s[1, 7]))
我假设您希望以某种方式对其进行概括,但您需要为此提供更多信息。或者只是 运行 它通过一个循环 :-)
编辑:添加了评论中的循环并更改了 2 个小东西。
s <- c(1,2,3,4,5,6,3)
t <- c(1,2,3,4,5,6,7)
p <- c(1,2,3,4,5,6,2)
s <- data.frame(s,t,p)
k <- t(s)
k <- as.data.frame(k)
k$t <- NA ### need to initialize the column
for(i in 1:3){
## need to refer to each line of k when populating the t column
k[i,]$t <- which.min(abs(k[i, 1:6] - k[i, 7])) }