Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
想要我的for循环返回字母而不是R中的数字吗_R_For Loop_Variable Assignment_Assign - Fatal编程技术网

想要我的for循环返回字母而不是R中的数字吗

想要我的for循环返回字母而不是R中的数字吗,r,for-loop,variable-assignment,assign,R,For Loop,Variable Assignment,Assign,这些数字与钢琴上的音符相对应,如果它返回G4而不是1,返回A4而不是2等,则会更有用 是否有一种方法可以对我的for循环进行编码以返回此值(即1=“G4”等) 我试过分配(粘贴(“G4”),1),但这不起作用 谢谢由于缺少所需信息,答案不准确,但这应该会给你一些提示 [1] 3 [1] 1 [1] 1 [1] 2 df由于缺少所需信息,答案不准确,但这应该会给你一些提示 [1] 3 [1] 1 [1] 1 [1] 2 df尝试使用因子: 例如: df<-data.frame(id=1:

这些数字与钢琴上的音符相对应,如果它返回G4而不是1,返回A4而不是2等,则会更有用

是否有一种方法可以对我的for循环进行编码以返回此值(即1=“G4”等)

我试过分配(粘贴(“G4”),1),但这不起作用


谢谢

由于缺少所需信息,答案不准确,但这应该会给你一些提示

[1] 3
[1] 1
[1] 1
[1] 2

df由于缺少所需信息,答案不准确,但这应该会给你一些提示

[1] 3
[1] 1
[1] 1
[1] 2

df尝试使用因子:

例如:

df<-data.frame(id=1:10, note=LETTERS[1:10], stringsAsFactors = F)

for (i in 1:5){
  x=sample(1:10,1)
  #print(x)
  print(df[match(x,df$id),2])
}

请尝试使用以下因素:

例如:

df<-data.frame(id=1:10, note=LETTERS[1:10], stringsAsFactors = F)

for (i in 1:5){
  x=sample(1:10,1)
  #print(x)
  print(df[match(x,df$id),2])
}

编写一个函数来进行翻译可能是最有意义的

[1] a1 a2 a3 a4 a5 a1 a3 a4
Levels: a1 a2 a3 a4 a5

您可以使strfnote更完整,处理意外事件等事件,并精确指定与“0”对应的注释以设置偏移量。但是经过一些基本的处理后,代码可以生成数字,然后为了进行渲染,您可以将数字传递给此函数以获得可读的表单。

编写函数来进行翻译可能最有意义

[1] a1 a2 a3 a4 a5 a1 a3 a4
Levels: a1 a2 a3 a4 a5

您可以使strfnote更完整,处理意外事件等事件,并精确指定与“0”对应的注释以设置偏移量。但经过一些基本处理后,代码可以生成数字,然后在渲染时,您可以将数字传递给此函数以获得可读的形式。

只需设置一个字符串,该字符串的音符顺序与您的音乐惯例一致(我无法直觉地认为这是完全有趣的,而且@user295691可能真正理解了数学基础)。因为您只给出了两个注释:

> strfnote(0:10)
 [1] "A4" "B4" "C4" "D4" "E4" "F4" "G4" "A5" "B5" "C5" "D5"

只需设置一个字符串,该字符串的音符顺序与您的音乐惯例一致(我无法直觉地认为这是完全有趣的,而且@user295691可能真正理解了数学基础)。因为您只给出了两个音符:

> strfnote(0:10)
 [1] "A4" "B4" "C4" "D4" "E4" "F4" "G4" "A5" "B5" "C5" "D5"

您可以构建一个钢琴曲列表,并通过索引[[i]]访问这些项目

对于您的示例,这将是:

# Above the loop
notes=c("G4", "A4", "B4")   # not sure if third one is sensible musically
                            # would have guessed that A5 was next to G4
# in the loop
print( notes[ order(-tmp$coef)[1] ] )

pianoNotes您可以构建一个pianoNotes列表,并通过索引[[i]]访问项目

对于您的示例,这将是:

# Above the loop
notes=c("G4", "A4", "B4")   # not sure if third one is sensible musically
                            # would have guessed that A5 was next to G4
# in the loop
print( notes[ order(-tmp$coef)[1] ] )

pianoNotes如果你有一个整数列表,你可以在获得订单后使用match。如果你发布一个与你的代码一起运行的数据样本,我们可以更容易地提供解决你问题的代码。将
dput(mydata)的输出粘贴到你的问题中。
(其中
mydata
是您想要提供的任何数据样本)。另一种选择是使用
列表
x如果您有钢琴音符的整数列表,您可以在获得订单后使用match如果您发布与代码一起运行的数据样本,我们可以更轻松地提供解决您问题的代码。将
dput(mydata)
的输出粘贴到您的问题中(其中
mydata
是您想要提供的任何数据样本)。另一种选择是使用
列表
x谢谢,这取决于我认为音乐来自哪个国家。但我所在的位置是从C到C,所以C4、D4、E4、F4、G4、A4、B4、C5等。这很好,谢谢。这可能有用:
paste0(字母[C(3:8,1:2)],5),rep(1:5,每个=8))
谢谢你,这取决于我认为音乐来自哪个国家。但我在哪里,音乐从C到C,所以C4,D4,E4,F4,G4,A4,B4,C5等…这很好,谢谢你这可能有用:
粘贴0(字母[C(3:8,1:2)],5),rep(字母[1:5,每个=8))
谢谢,它返回Levels行这一事实真的很烦人,而且会妨碍您。谢谢,它返回Levels行这一事实真的很烦人,而且会妨碍您。