我有“d”表,想要随机输入10个条目。从这10个随机条目中我只想显示列a和b。如何修改以下代码?
sample(d, 10, replace=FALSE)
此外我想在表格中显示它,所以我想把它放到data.frame中
但data.frame(sample(d, 10, replace=FALSE))
似乎也不起作用。
答案 0 :(得分:0)
sample
从矢量中选择。所以下面我使用row.names
选择了10行。我将其与which
结合使用,以便对选择sample
中出现的行的数据进行子集化。
df <- data.frame(a = rnorm(100), b = rnorm(100), c = rnorm(100))
df
| a| b| c|
|----------:|----------:|----------:|
| -0.2871389| -3.3284312| 1.1407268|
| 1.0332958| -0.3941396| -0.5673642|
| 0.3818575| 0.3572952| -1.0359738|
| -0.8893199| 0.3631301| -1.7498299|
| 0.6397421| -1.2466878| -0.6821477|
| 1.7704890| 0.2878294| 1.0452640|
sample_df <- df[which(row.names(df) %in% sample(row.names(df), 10, replace = FALSE)),c(1,2)]
sample_df
| | a| b|
|:--|----------:|----------:|
|38 | 1.1299788| -0.5821954|
|42 | -0.7098492| 0.5000970|
|45 | 0.3411080| -0.3986854|
|46 | 0.1327252| 1.1115524|
|62 | 0.2457775| -0.5019835|
|74 | -0.1426126| 0.7491008|
|78 | -0.5061047| -0.3007340|
|92 | -0.4990604| 0.1078757|
|97 | 0.5888083| -1.8678351|
|99 | 0.9145843| 0.4139922|