可能的重复:
有没有办法访问向量中的索引
我最近发布了类似的问题,但我并没有真正收到答案。我需要访问向量列表中的向量,到目前为止代码如下:
MyDataR1 <- scan("D:\\R Code\\Residential\\bvl5 res.txt",what='character')
MyDataR2 <- scan("D:\\R Code\\Residential\\bvl5 res.txt",what='character')
MyDataR3 <- scan("D:\\R Code\\Residential\\cpk11 res.txt",what='character')
MyDataR <- c(MyDataR1,MyDataR2,MyDataR3)
print (MyDataR[3])
Run Code Online (Sandbox Code Playgroud)
然而,打印命令实际上并不打印第三个向量(MyDataR3),而是打印出第一个向量(MyDataR1)的第三个值
有没有办法访问向量中的各个向量?我将如何访问向量内向量的单个值?我认为它会是这样的:
MyDataR[[3]][5] <- 5 #this would access the 5th value of the 3rd vector and modifies it
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激。
在 Rust 中,元组可以使用点(例如:)进行索引x.0,而数组可以使用方括号(例如:)进行索引x[0]。乍一看,这在我看来似乎会使重构现有代码变得更加困难,而没有任何实际目的。但是,我可能只是错过了一些东西。Rust 的创建者是否曾对此发表评论并告诉我们他们为什么选择以这种方式构建语言?
我是C编程的新手,我需要使用2D整数数组(矩阵).例如,我这样做:
void main(){
int matrix[2][2] = { {0,1}, {2,3} };
printf("%i", matrix[4][4]); /*Here should be an index error, but that doesn't happen*/
}
Run Code Online (Sandbox Code Playgroud)
怎么了?
我正在尝试编写一个简单的BMI计算器,但出于某种原因,当我尝试175高度(公式为1.75)和70为质量时它应该给出22.8,这是在健康范围内,但它让我体重不足.我知道这可能是一个简单的错误,但我看不到它.
float main(void) {
float height;
printf("Enter your height in cm:\n");
scanf("%f",&height);
float weight;
printf("Enter your weight in kg:\n");
scanf("%f",&weight);
float bmi;
bmi = (weight/(height/100)*(height/100));
if (bmi <= 16) {
printf("Severely Underweight\n");
}
else if (16 < bmi <= 18.5) {
printf("Underweight\n");
}
else if (18.5 < bmi <= 25) {
printf("Healthy\n");
}
else if (25 < bmi <= 30) {
printf("Overweight\n");
}
else {
printf("Severely Overweight\n");
}
}
Run Code Online (Sandbox Code Playgroud) 我使用键值对在PHP中定义了一个数组,如下所示:
$myArray = (
'item1' => 'val1',
'item2' => 'val2',
'item3' => 'val3'
);
Run Code Online (Sandbox Code Playgroud)
但每当我需要使用数字索引使用此数组中的一个存储值时$myArray[1],我得到以下错误:
注意:未定义的偏移量:1 ...
以前我虽然在定义数组成员时总是会创建数字索引,但现在这个错误告诉我我错了.
我的问题是:我们不能在PHP中使用键值对创建的数组上使用数字索引吗?
在我的代码中,我将一个变量设置为表的内容,如下所示:
colorTable = {{255, 255, 255}}
color = colorTable[1]
Run Code Online (Sandbox Code Playgroud)
我的问题是当我编辑color它的值时改变原始值colorTable
所以在开始时,colorTable[1][1]等于255,但在我运行之后:
color[1] = color[1] - 10
Run Code Online (Sandbox Code Playgroud)
colorTable[1][1]等于245.任何帮助表示赞赏.
简单的问题,但我找不到答案。
我有一个向量
a<-c(5,6,7)
Run Code Online (Sandbox Code Playgroud)
如何取回向量中所有元素的索引?
我需要回来
1 #"a"
2 #"b"
3 #"c"
Run Code Online (Sandbox Code Playgroud)
或者 c(1,2,3)
如果我运行seq_along(A),它给了我回来(1,1,1)不是(1,2,3):
for (i in seq_along(a)) {
print(seq_along(a[[i]]))
}
[1] 1
[1] 1
[1] 1
Run Code Online (Sandbox Code Playgroud)
这样做的原因是我需要为我的每个图创建一个唯一的名称。我有大约 100 个图解说明 100 个位置。位置名称太长并且包含特殊字符,因此我无法使用它们来命名我的输出图。我想使用索引值来替换每个保存的图的名称。
我需要修改的功能:
lineCumRateGraph <- function(tab, na.rm = TRUE, ...) {
# Create list of locations
type_list <-unique(tab$uniqueLoc)
# Create a for loop to produce ggplot plots
for (i in seq_along(type_list)) {
# create a plot for each loc in df
plot<-
ggplot(subset(tab, tab$uniqueLoc == type_list[i]), …Run Code Online (Sandbox Code Playgroud) 在Python中,您可以这样做:
arr = [1,2,3]
arr[-1] // evaluates to 3
Run Code Online (Sandbox Code Playgroud)
但是在JS中,你不能:
let arr = [1,2,3];
arr[-1]; // evaluates to undefined
Run Code Online (Sandbox Code Playgroud)
问题是:为什么?
我知道绕过它的技巧(arr[arr.length-1]修改数组原型等),但这不是重点.
我试图理解为什么它仍然没有在EcmaScript标准中将负数组索引解释为从最后开始的索引,尽管实现一个理解它的JS引擎似乎很容易(而且整个Python社区也是如此)用这种表示方法爆炸).
我错过了什么?
想象一下,由索引(1-5)指定的Java中的List <1,2,3,4,5>.
如果我想将索引2(2)上的项目移动到索引4并将列表重新排列为<1,3,4,2,5>.
是否有一个简单的方法/收集框架来实现这个?LinkedList似乎是一个解决方案.