假設我們有一個4列該數據幀:如何訪問其它列單元格給定的值
Subject Trial Before After
1 1 10 16
1 2 11 17
1 3 12 18
2 1 13 19
2 2 14 20
2 3 15 21
假設至多有一行與給定的主題數量和審判數量。給定主題編號和試用編號,如何訪問具有給定主題和試用編號的行中的Before
列中的值?
謝謝。
假設我們有一個4列該數據幀:如何訪問其它列單元格給定的值
Subject Trial Before After
1 1 10 16
1 2 11 17
1 3 12 18
2 1 13 19
2 2 14 20
2 3 15 21
假設至多有一行與給定的主題數量和審判數量。給定主題編號和試用編號,如何訪問具有給定主題和試用編號的行中的Before
列中的值?
謝謝。
有342點的方式,但一個是subset
:
df <- head(mtcars)
df
# mpg cyl disp hp drat wt qsec vs am gear carb
#Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
#Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
#Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
#Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
#Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
#Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
subset(df, cyl == 4 & disp == 108, select=mpg)
# mpg
#Datsun 710 22.8
再過
with(df, mpg[cyl == 4 & disp == 108])
#[1] 22.8
library(dplyr)
df %>% filter(cyl == 4 & disp == 108) %>% select(mpg)
# mpg
#1 22.8
library(data.table)
setDT(df)[cyl == 4 & disp == 108, mpg]
#[1] 22.8
正確的342種方式? –
我算了一次。漫漫長夜 –
與下面的數據幀,你可以運行兩個評價(每行一個)和將結果與&
運算符結合使用。這會返回TRUE/FALSE值的向量,您可以使用which()
函數將其減少到索引。然後將其應用於數據框行參考,並指定要從該行返回的列。
a = c(1, 1, 1, 2, 2, 2)
b = c(1,2,3,1,2,3)
c = c(10,11,12,13,14,15)
d = c(16,17,18,19,20,21)
e = data.frame(a,b,c,d)
e[which(e$a == 2 & e$b == 2), 'c']
'subset(mydf,Subject == 1&Trial == 3,select = Before)'?例如對於子1和試驗3 –
請參閱'幫助(邏輯)'和'幫助(提取)' –