【发布时间】:2020-08-01 12:12:18
【问题描述】:
我想在数据上运行一些功能,选择的数据取决于用户选择(闪亮)。 例如,考虑一下:
dumb_input = 以下任何值(“english”、“spanish”、“french”、“german”)
所以,我希望根据语言选择访问不同的数据。设置它的最佳方法是什么?我有下面使用 DataFrame 的代码,但我认为它可能效率低下:
#objective: get the name 'arthur' when 'english' is selected
langs = c("english", "spanish", "french", "german")
names = c("arthur", "pablo", "antoine", "hans")
data_names = data.frame(langs, names, stringsasfactors = FALSE)
data_names[data_names[1]==dumb_input,] <--- this obviously is still a dataframe giving us ["english", "arthur"] so we go further
as.character(data_names[data_names[1]==dumb_input,][2]) #returns "arthur"
那么,有没有更好的方法来做到这一点?我觉得应该有。这也可以用另一个 R 结构来完成,例如列表吗?
【问题讨论】:
-
另外,我想知道我的代码最后一行中的“as.character()”函数是否必要。
-
我觉得你需要
data_names[[1]] -
@akrun 你能说得更具体点吗? data_names[[1]] 只是给了我语言向量
-
我猜你一次只提供一个元素,你想
filter基于那个的行?那么==就可以了。如果您想拆分数据,则只需执行split(data_names, data_names$langs)