访问行从A R数据帧
问题描述:
我有A R数据帧为:访问行从A R数据帧
Serial_N voltage current
B 10 nan
B 10 nan
B 14 nan
C 12 nan
D 40 nan
. . .
AB 12 nan
我想通过从电压元件回路,其中序列号为B.我尝试这样做:
for (i in 1:length)
{
df[Serial_N==B,]$voltage[i]
}
但它不起作用。任何建议没有使用临时变量?
答
我不知道为什么你需要一个循环。你想用电压做什么?
可以使用基本的子集与[
v <- df[df$Serial_N=="B", ]$voltage
提取所有电压,其中Serial_N == B
然后做你想做的与电压V
如果你真的是一个循环结束后,您的结构将会像
for(i in 1:nrow(df)){
df[i, ]$Serial_N == "B"
# .. do other stuff..
}
您的循环变量i
用于一次选择一行。然后,您将该行的Serial_N
值与"B"
然后您需要决定您想要对每行执行的操作。
答
您可以选择从行的所有电压,其中编号为B,然后遍历它们:
for(voltage in df$voltage[df$Serial_N=="B"]){print(voltage)}
或者您也可以通过其序列号B行的指标迭代,然后用食指和电压场
for(i in which(df$Serial_N=="B")){print(CC[i,"voltage"])}
任何使用'df [df $ Serial_N ==“B”,] $ voltage'而不是'df $ voltage [df $ Serial_N ==“B”]'甚至是'df [,“电压“] [df $ Serial_N ==”B“]'?第一种情况是将整个'df'分成若干行,然后将结果中的单个变量进行子集化。它大部分时间可能影响最小,但可能会导致我认为复制大量数据。 – thelatemail
@thelatemail - 这是从习惯而不是实际考虑它 - 我知道这是不是你第一次指出这一点给我;-) – SymbolixAU
哎呦......为我破碎的记录道歉!随着时间的推移,我忘记了我的评论。正如我所说,这远非一个大问题。祝你有个好的一天。 :-) – thelatemail