我正在进行一项实验,该实验涉及人们聆听一系列音调(高音或低音)并计算高音。我有一个矢量他们实际听到了多少音(总):
count=c(1, 3, 5, 4, 3, 1, 2, 4, 3, 5, 2)
所有参与者都按照特定顺序听取了同一系列音调的子集:
list=c("high", "low", "low", "low", "high", "low", "high", "low",
"high", "high", "low", "low", "high", "low", "low")
我想知道每个参与者实际听到多少高音。因此,在这个例子中,如果他们总共听到3个音调,他们只听到一个高音,但如果他们总共听到5个音,他们就会听到2个高音。
为此,我尝试使用for循环来计算" high"的出现次数。对于每个参与者:
for (i in count){
cat(length(grep("high", list[1:i])))
}
打印出所有正确数量的高音(在本例中为11211111121)。但是,我想创建并将此输出存储为单个值的向量。
我的问题是,如何将此for循环的输出保存为值向量?
答案 0 :(得分:0)
这将每个值存储为向量中的一个条目。
tones <- c("high", "low", "low", "low", "high", "low", "high", "low",
"high", "high", "low", "low", "high", "low", "low")
count <- c(1, 3, 5, 4, 3, 1, 2, 4, 3, 5, 2)
x <- NULL
for (i in 1:length(count)){
x[i] <- length(grep("high", list[1:count[i]]))
}
> x
[1] 1 1 2 1 1 1 1 1 1 2 1
答案 1 :(得分:0)
通常最好避免在R中使用import os
import commands
import glob
#Global Commands
glcmd = 'get_time_length'
print("Preparing for kiosk mode! Press CTRL+C to exit")
try:
while 1:
path = '/media/*/button1/*'
os.system('mplayer -fs -quiet -slave path')
line = os.popen(glcmd).readline().strip() #Get the duration from mplayer
duration = line.split('=')[1] #Get just the length of video in Seconds
print(duration)
sleep(duration) #Wait until the video is done
os.system('quit')
循环。
for