R - 创建多个对象并为其分配不同的值

时间:2013-06-05 15:56:36

标签: r object

我是编程世界的新手,但我想知道如何为我生成的对象分配不同的值。我想在运行此脚本后将对象1:28分配给值“index”。我更改文件名并重新运行脚本,因此生成了不同的“索引”值,我想将这些值存储在txt文件中。

    wave<-readWave("myfile.wav")
    waveenv<-env(wave, f=48000, envt="hil", plot=FALSE)
    thvalue<-th(waveenv)
    wavespec<-meanspec(wave, f=48000, wl=1024, wn="hanning", plot=FALSE)
    shvalue<-sh(wavespec)
    index<-thvalue*shvalue   
    for(i in 1:28)
    assign(paste('obj',i,sep=''),NULL)

部分我需要帮助:)

    ##obj1:28<-index
    ##list<-c(obj1:28)
    ##lapply(list, write, "test.txt", append=TRUE)

感谢您的帮助。我不想重新创建索引值28次,我知道,obj1:28没有意义:)我运行脚本,得到一个索引值,想要将这个值存储在一个对象(例如obj1)中。然后我重新运行脚本并希望将新索引值存储在obj2中...所以最后我可以提供一个txt文件并将所有obj值保存到txt文件中。但我是个白痴:)我只是追加我得到的索引值。总阻值:/

1 个答案:

答案 0 :(得分:0)

我可以建议:

wave<-readWave("myfile.wav")
waveenv<-env(wave, f=48000, envt="hil", plot=FALSE)
wavespec<-meanspec(wave, f=48000, wl=1024, wn="hanning", plot=FALSE)
index<-th(waveenv)*sh(wavespec)

lapply(1:28, function(.)write(x=index, file="test.txt", append=TRUE))

这将简单地复制值index 28次。这是你想要的吗?

注意:我已经对你的代码进行了一些简化: - )