【发布时间】:2014-08-04 20:58:35
【问题描述】:
我正在尝试在 R 中创建一个对变量名称的循环。它应该对两个变量的和求平方根。到现在为止我有这个:
变量名称为 x1,y1, x2,y2, ... x30,y30(都在一个矩阵中,matrix$x1,matrix$x2)
x1 <- c(2,2,2,3,1,2,4,6,1)
y1 <- c(5,4,3,3,4,2,1,6,3)
x2 <- c(8,2,7,3,1,2,2,2,4)
y2 <- c(1,3,3,3,1,2,4,3,7)
x3 <- c(4,4,1,2,4,6,3,2,3)
y3 <- c(1,2,3,3,1,2,4,6,6)
matrix <- cbind(x1,y1,x2,y3,x3,y3)
for(i in 1:30){
result[[i]] <- sqrt(x`i' + y`i')
}
我能做什么?
【问题讨论】:
-
您尝试做的事情很困难,因为您错误地创建了 60 个独立的、独立的变量,而不是将它们放在像列表或矩阵这样的单个数据结构中。例如,一个两列矩阵,或一个长度为 2 的向量列表。
-
是的,我在描述里改了!对不清楚的地方深表歉意!
-
对于您正在尝试做的事情来说,这仍然是一个相当尴尬的数据结构。尽管如此,至少可以通过将列名粘贴在一起来进行子集化。即类似
matrix[,paste0("x",i)]. -
你能提供一个你的矩阵的例子吗?
-
给你,只是简单的变量,但它最多可达 30