【发布时间】:2021-07-03 16:35:24
【问题描述】:
假设我有一个数据框 df,例如:
col1 col2
x1 y1
x2 y2
在每个“单元格”中具有任意值。 如何获得给定单元格的单个值?
例如要获取第一行和第二列中单元格的值,这样做:
df[1,2]
适用于数值,但也适用于字符串。
获取单个值的正确方法是什么(例如,用于另一个数据帧的子集的条件)?
编辑 关于我需要这个的更多细节。假设我需要使用 df 中的值来对另一个数据框 df2 进行子集化:
subset(df2, (id == SomeCommand(df[1,1])) & (name == SomeCommand(df[1,2])))
是否有任何这样的“SomeCommand”可以可靠地返回适当类型的单个值(无级别),而不管 df 中列的类型如何?
【问题讨论】:
-
as.character(df[1,2]) -
@Ronak Shah:这对字符串以外的任何东西都不起作用,对吧?是否有任何“稳健”的方式来获取单个值,无论它是什么类型?也许我的问题不够清楚。
-
什么@RonakShah,您应该将其强制为
factor以外的其他内容。但本质上,它仍然只是一个值。 -
@GuitarExtended 不,它会强制任何字符。这比说
as.numeric更强大,这会混淆因素(将返回级别 number,而不是实际级别值)。话虽如此,您可能不需要强制转换为另一种类型来使用它进行进一步的子集化。 -
标签: r