-1

私は持っている:

z = data.frame(x1=a, x2=b, x3=c, etc)

私はやろうとしています:

for (i in 1:10)
{
    paste(c('N'),i,sep="") -> paste(c('z$x'),i,sep="")
}

問題:

  1. paste(c('z$x'),i,sep="")"z$x1", "z$x1"実際の値を呼び出す代わりに生成されます。式を評価する必要があります。やってみas.numeric, evalました。どちらも機能していないようでした。

  2. paste(c('N'),i,sep="")利回り"N1", "N2"。式は単に名前として使用する必要があります。のような値を割り当てようとするとpaste(c('N'),5,sep="") -> 5、つまり"N5" -> 5の代わりにN5 -> 5、割り当てのターゲットが非言語オブジェクトに展開されます。

このタスクは、次のように簡単に実行できるため、非常に簡単です。

N1 = x1... N2 = x2...

などですが、何か新しいことを学びたいです

4

3 に答える 3

1

あなたが何を達成しようとしているのか正確にはわかりません。しかし、ここに推測があります:

### Create a data.frame using the alphabet
data <- data.frame(x = 'a', y = 'b', z = 'c')

### Create a numerical index corresponding to the letter position in the alphabet
index <- which(tolower(letters[1:26]) == data[1, ])

### Use an 'lapply' to apply a function to every element in 'index'; creates a list
val <- lapply(index, function(x) {
    paste('N', x, sep = '')
})

### Assign names to our list
names(val) <- names(data)

### Observe the result
val$x
于 2013-04-11T21:44:23.577 に答える