0

次のようなデータセットがあります。

   A  B  C   D
1. 5  4  4   4
2. 5  4  4   4
3. 5  4  4   4
4. 5  4  4   4
5. 5  4  4   4
6. 5  4  4   4
7. 5  4  4   4

列 C のすべての変数に「ゼロ」を追加したいと思います。たとえば、次のようにします。

   A  B  C   D
1. 5  4  40  4
2. 5  4  40  4
3. 5  4  40  4
4. 5  4  40  4
5. 5  4  40  4
6. 5  4  40  4
7. 5  4  40  4

どうすればいいですか?

4

3 に答える 3

4

コラムmyData$Aを参照するために常に参照しなければならないのは本当に好きではありません。A良い代替式は使用することwithinです:

myData = within(myData, {
   C = C * 10
   D = D + 4
   E = C + D
 })

特に、同じでより多くの列操作を実行する必要がある場合は、data.frameこの構文の方が好きです。またはさらに良い:

myData = transform(myData, C = C * 10, D = D + 4, E = C + D)

またはパッケージmutateから使用します。plyrこれには、繰り返し機能するという利点があり、transform新しく作成された列を使用できます。

# fails
myData = transform(myData, C = C * 10, new_col = C + 4, even_newer = new * 3) 
#works  
myData = mutate(myData, C = C * 10, new_col = C + 4, even_newer = new * 3)
于 2012-09-08T11:01:45.093 に答える
4

列 C に 10 を掛けるだけdata.frameですmyData

myData$C <- myData$C*10
于 2012-09-08T04:16:05.440 に答える
2

データが数値の場合、mrdwab の提案が最適です。

myData$C <- myData$C*10

このスタイルは「data.frame」で機能します。したがって、データをマトリックスに保持する場合は、次を使用する必要があります。

マイデータ[,3] = マイデータ[,3] * 10

最後に、データが NUMERIC (文字) でない場合は、次のように操作できます。

myData$C = paste(myData$C, "0", sep="")

于 2012-09-09T14:01:19.863 に答える