【发布时间】:2017-03-15 14:32:45
【问题描述】:
我一直在阅读另一个关于如何对数据帧的行进行随机子集化的问题,但我无法弄清楚如何将数据帧中特定列的值更改为随机的行子集。
来自Sample random rows in dataframe:
df = data.frame(matrix(rnorm(20), nrow=10))
df[sample(nrow(df), 3), ]
例如,如何将 X1 列中随机选择的行替换为 0?
谢谢!
【问题讨论】:
我一直在阅读另一个关于如何对数据帧的行进行随机子集化的问题,但我无法弄清楚如何将数据帧中特定列的值更改为随机的行子集。
来自Sample random rows in dataframe:
df = data.frame(matrix(rnorm(20), nrow=10))
df[sample(nrow(df), 3), ]
例如,如何将 X1 列中随机选择的行替换为 0?
谢谢!
【问题讨论】:
您只需要在设置新值之前选择列。
df = data.frame(matrix(rnorm(20), nrow=10))
df[sample(nrow(df), 3), 'X1'] <- 0
【讨论】:
或者你可以使用data.table包:
library(data.table)
df = data.table(matrix(rnorm(20), nrow=10))
df[sample(.N,3), V1 := 0]
除了默认的 colnames 将被更改为 'V1''V2'...
【讨论】: